C语言基础知识练习

来源:互联网 发布:吉利知豆电动车官网 编辑:程序博客网 时间:2024/05/22 06:52

传送门:C语言基础知识梳理总结

练习一

 

一、填空题:

1.  在C语言程序中,用关键字   Int  定义基本整型变量,用关键字   loat定义单精度实型变量,用关键字   char   定义字符型变量。

2.  程序结构包括三种:  顺序结构    循环结构    选择结构 

 

二、选择题:

1.  C语言程序是由(  C  )构成的。

A)一些可执行语言  B)main函数   C)函数   D)包含文件中的第一个函数

2.  ( A )是构成C语言程序的基本单位。

A、函数        B、过程       C、子程序    D、子例程

3.  不是C语言提供的合法关键字是( B )。

A.switch     B.cher     C.case     D.default

4.  下列正确的标识符是( C )。

A.-a1             B.a[i]          C.a2_i          D.int t

5.  下列C语言用户标识符中合法的是(  B  )。

A、*y     B、sum     C、int       D、%5f   

6.  下面四个选项中,合法的标识符是:(  D )

A.auto     B. define     C. 6a     D. c

7.  下列C语言用户标识符中合法的是( B  )。

A)3ax   B)x  C)case   D)-e2    E)union

8.  以下选项中合法的用户标识符是 ( B  ) 

A)long           B) _2Test     C) 3Dmax      D)A.dat

9.  下列四组选项中,正确的C语言标识符是(  C  )。

A)  %x           B)   a+b      C) a123          D) 123

10. 请选出可用作C语言用户标识符的一组标识符( B   )

A)void define WORD        B) a3_b3  _123  sum           

C)For  -abcCase          D) 2a     DO   sizeof

11. 下列四组字符串中都可以用作C语言程序中的标识符的是( A )。

A、print  _3d   db8 aBc     B、I\am  one_half start$it  3pai

C、str_1  Cpp  pow while    D、Pxq  My->book  line# His.age 

 

三、是非题:

1.  C 语言具有简洁明了的特点。 ( 正确 )

2.  预处理命令的前面必须加一个“#”号。 (正确  )

3.  标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。( 正确 )

4.  在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(正确 )

5.  continue 不是结束本次循环,而是终止整个循环的执行。( 错误 )

6.  在对数组全部元素赋初值时,不可以省略行数,但能省略列数 ( 错误 )

7.  .函数的实参传递到形参有两种方式值传递和地址传递 ( 正确 )

8.  直接访问就是直接利用变量的地址进行存取直接访问 ( 正确 )

9.  共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 (正确   )

10. 文件指针和位置指针都是随着文件的读写操作在不断改变。(错误)

 

四、编程题:

1.  编写程序,从键盘顺序输入3个整数,然后按逆序将它们输出。例如,假设输入的3个整数为8、2、7,则程序输出7、2、8

 

#include<stdio.h>
void main()
{int x,a,b,c;
 scanf("%d",&x);
 a=x/100;
 b=x/10%10;
 c=x%10;
 x=c*100+b*10+a;
 printf("%d",x);
}

 

练习二

 

一、填空题

1.  一个C源程序至少包含一个  主函数 ,即  main  函数。

2.  已知“int j,i=1”,执行语句“j=i++;”后,变量i的值是   2  

3.  已知“int j,i=1”,执行语句“j=++i;”后,变量i的值是   2  

 

二、选择题

1.  C语言程序从main()函数开始执行,所以这个函数要写在(  D  )。

A)程序文件的开始           B) 程序文件的最后

C)它所调用的函数的前面     D) 程序文件的任何位置

2.  以下说法中正确的是(  C  )。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义

C、C语言程序总是从main( )函数开始执行

D、C语言程序中的main( )函数必须放在程序的开始部分

3.  下列方法中错误的是( D )。

A.  主函数可以分为两个部分:主函数说明部分和主函数体。

B.  主函数可以调用任何非主函数的其它函数。

C.  任何非主函数可以调用其它任何非主函数。

D.  程序可以从任何非主函数开始执行。

4.  下列C语言标识符中合法的变量名是(  B  )。

A)2e3       B)you       C)*y   D)float

5.  C语言中的简单数据类型包括( D  )。

A、整型、实型、逻辑型        B、整型、实型、逻辑型、字符型

C、整型、字符型、逻辑型      D、整型、实型、字符型

6.  下列可以正确表示字符型常量的是( A )。

A、’\t’   B、”a”    C、”\n”    D、297

7.  下列表达式中,(  D  )是正确的C语言字符常量。

A)”x”   B)e3  C)”COMPUTER”   D)’#’

8.  在下列表达式中,属于字符型常量的是(  B  )。

A)A       B) 'a'         C) "A"         D) b

9.  以下选项中合法的字符常量是(  B  )

 A) “B”       B) ‘\n’      C) ‘68’       D) E

10. 下面字符常量表示错误的是( D  )

A)’a’    B)’?’  C)’\n’  D)”\n”

11. 已定义c为字符型变量,则下列语句中正确的是(   C )

A)c='97'     B)c="97"     C)c=‘a’     D)c="a"

12. 已知ch是字符型变量,不正确的赋值语句是( A   )

A、A)ch='a+b' ;                  B) ch=' \0 ';                                 

B、C)ch=' 7' ;                  D) ch=’;’;

13. C语言中字符型(char)数据在内存中的存储的是( D   )

A)  原码 B) 补码 C) 反码 D)ASCII码

14. 在C语言中,字符型数据所占的内存空间是(  C  )

A)2个字节     B) 4字节      C) 1字节    D)由用户自定义

15. C语言中运算对象必须是整型的运算符是(A )

A)%=              B) /               C) =             D) 〈=

 

三、是非题

1.  C 语言标准格式输入函数 scanf() 的参数表中要使用变量的地址值(正确)

2.  浮点型常量的指数表示中 ,e 是可以省略的。(错误 )

3.  任何表达式语句都是表达式加分号组成的。( 正确 )

4.  在switch语句中,每一个的case常量表达式的值可以相同。( 错误 )

5.  do-while循环的while后的分号可以省略。( 错误)

6.  用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志'\0'。( 正确 )

7.  C语言函数返回类型的默认定义类型是void (错误 )

8.  可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(正确)

9.  枚举类型中的元素都具有一个整型值。( 正确  )

10. C 语言是一种具有某些低级语言特征的高级语言。(正确 )

 

四、编程题

1.  编写程序,从键盘输入10个学生的成绩,统计最高分和最低分并输出

#include<stdio.h>

void main()

{

 doublea[10],max,min,sum=0,avg; int i; for(i=0;i<10;i++)

{

printf("请输入第%d个成绩",i+1);sanf("%f",&a[i]);

}

max=a[0];min=a[0]; for(i=0;i<10;i++)

{

sum+=a[i]; if(a[i]>max) max=a[i];if(a[i]<min) min=a[i]; } avg=sum/10; printf("最大是%f,最小是%f ",max,min);

}

}


练习三

 

一、填空题

1.  执行下列语句“intb=20;b=b/5;b=b-2”后,b的值是___2___。

2.  设double y[3][4];,则数组y中元素的个数是__2__

 

二、选择题

1.  下列说法错误的是:(  B  )

A.  C程序运行步骤是编辑、编译、连接、执行。

B.  C语言的变量名必须用小写,常量用大写。

C.  C语言的三种基本结构是顺序、选择、循环。

D.  C程序一定由函数构成的。

2.  下列关于C语言的说法错误的是( B  ) 。

A)  C程序的工作过程是编辑、编译、连接、运行

B)  C语言不区分大小写。

C)  C程序的三种基本结构是顺序、选择、循环

D)  C程序从main函数开始执行

3.  在C语言程序中,表达式8/5的结果是( B )

a)  A)1.6         B)1           C)3           D)0

4.  设x为int型变量,则执行以下语句后,x的值为(  B  )

x=10;x+=x;

A)10    B) 20   C) 40  D) 30

5.  在C语言程序中,表达式5%2的结果是( C )。

A)2.5     B)2     C)1         D)3

6.  如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( A  )。

A)3         B) 4            C) 0       D) 1

7.  若int x=2,y=3,z=4 则表达式x<z?y:z的结果是( B  ).

A)4   B)3   C)2    D)0  E)1

8.  C语言中,关系表达式和逻辑表达式的值是( B  )。

A)0         B) 0或1        C) 1       D) ‘T’或’F’

9.  设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是( D )

A、’a’&&’b’                     B、a<=b    

C、a||b+c&&b-c                      D、!((a<b)&&!c||1)

10. 下面( D )表达式的值为4.

A)  11/3            B) 11.0/3

C)  (float)11/3   D)  (int)(11.0/3+0.5)

11. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为 ( B )

A)  68       B)  ‘D’       C) 错误     D) ‘d’

12. 下列关于C语言的叙述错误的是( A )

A)  大写字母和小写字母的意义相同

B)  不同类型的变量可以在一个表达式中

C)  在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D)  同一个运算符号在不同的场合可以有不同的含义

13. 有:int w=11,x=12,y=3,m; 执行下面语句后m的结果是( C  )

m=(w<x)?w:x;

m=(m<y)?m:y;

A.1    B. 2   C. 3   D. 以上结果都不对

 

三、是非题

1.  case语句后如没有break,顺序向下执行。(正确 )

2.  do-while循环至少要执行一次循环语句。( 正确 )

3.  数组名能与其它变量名相同。数组名后是用方括号括起来的常量表达式,不能用圆括号。( 正确)

4.  函数形参的存储单元是动态分配的。( 正确 )

5.  int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。( 错误 )

6.  结构体变量可以作数组元素。( 正确 )

7.  随机操作只适用于文本文件。( 错误 )

8.  表达式语句和表达式没有什么区别。( 错误 )

9.  条件运算符?和:是一对运算符,不能分开单独使用。( 正确 )

10. 函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。( 正确 )

 

四、编程题

1.  编写程序,从键盘输入一个整数,若是整数则原样输出,若是附属则输出该数的绝对值

#include<stdio.h>
int main()
{
    int
num;
    printf("Please input ainteger:");
    scanf("%d",&
num);
    if(
num>=0)
     printf("%d",num);
    else printf("\n%d\n",-num);
}

 

练习四

 

一、填空题

1.  设int型变量x有初始值3,则表达式x++*5/10的值是    1  。

2.  执行下列语句”int a=8;a+=a-=a*a;”后,a的值是__-112__。

 

二、选择题

1.  C语言程序从(  C  )开始执行。

A)程序中第一条可执行语句     B) 程序中第一个函数

C)程序中的main函数          D) 包含文件中的第一个

2.  系统默认的C语言源程序扩展名为.C,需经过( C  )之后,生成.exe文件,才能运行?

A)编辑?编译    B )编辑?连接    C) 编译?连接     D) 编辑?改错

3.  有:int w=7, x=12, y=3,m;   执行下面语句后m的值是( A  )

m=(w>x)?w:x;

m=(m>y)?m:y;

A.12    B. 0   C. 3   D. 1

4.  设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )

A.b=1.0/a           B.b=(float)(1/a)

C.b=1/(float)a      D.b=1/(a*1.0)

5.  以下运算符中优先级最高的运算符是( B )

a)  A)&&   B)++   C)+=    D)!=

6.  若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A  )

A.1               B.4                 C.4.333333         D.4.6

7.  设x为int型变量,则执行以下语句后,x的值为(C )

x=10;x*=x;

A)10    B) 20   C) 100  D) 0

8.  若有语句int a=1,b; doubley=2.3; b=(int)y; 则b的值为 ( B  )?

A)3   B) 2  C) 1   D) 2.3

9.  已知int x;char y;则下面错误的scanf函数调用语句为(  B )

A)scanf(“%d,%d”,&x,&y);      B) scanf(“%d,%c”,x,y)

C)scanf(“%d%d”,&x,&y)       D)scanf(“%d,%c”,&x,&y)

10. 在C语言的库函数中,可以输出char型变量x值的语句是( C )。

A)getchar(x);    B)fputc(x)  C)putchar(x)    D)puts(x)

11. 以下说法正确的是(C )

A)   'x'+5是一个错误的表达式

B)   C语言不允许类型的混合运算

C)   强制类型转换时,类型说明符必须加括号

D)   (int)x+y 和(int)(x+y)是完全等价的表达式

12. 设 int  x=0, y=1; 表达式(x||y)的值是( B )

A)0            B) 1           C) 2            D) -1

 

三、是非题

1.  函数的实参可以是常量,变量或表达式。( 正确 )

2.  如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。( 正确 )

3.  文件指针用于指向文件,文件只有被打开后才有对应的文件指针。(正确)

4.  C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。(错误)

5.  在C语言中,逗号既可以作为运算符,也可以作为分隔符。(正确 )

6.  C语言的书写格式不会影响程序的可读性。(错误)

7.  条件表达式不能取代一般if的语句。(错误)

8.  break 则是结束整个循环过程,不再判断执行循环的条件是否成立。(正确)

9.  C语言允许用字符串的方式对数组作初始化赋值。(正确)

10. 如果函数定义出现在函数调用之前,可以不必加函数原型声明。(正确)

 

四、编程题

1.        将一个数组中的值按逆序输出。例如:原来顺序为8,6,5,3,2,1要求改为 1,2,3,5,6,8

#include <stdio.h>

int main()

{

     int a[6] = {8, 6, 5, 3, 2,1};

   inti = 0, tmp;

   for(i = 0; i < 6/2; ++i)

   {

          tmp = a[5-i];

          a[5-i] = a[i];

          a[i] = tmp;

    }

    for(i = 0; i < 6; ++i)

        printf("%5d\n", a[i]);

 

   return0;

}



0 0
原创粉丝点击