C语言练习题及答案
综合强化练习一
一、选择题(每题1分,共40分)
1、以下叙述正确的是( )
A)C语言总是从第一个定义的函数开始执行
B)在C程序中,要调用的函数必须在main函数中定义
C)C程序的执行总是从main函数开始执行的
D)C程序中的main函数必须放在程序的开始部分
2、下列合法的用户标识符为( )
A)_4sum B) static C) 1max D) #dtotal
switch case判断字符串3、ch为字符型变量,则下面赋值语句正确的为( )。
A)ch="ABC" B) ch="A" C) ch= a D) ch=67
4、C语言中整形常量有哪几种形式( )
A) 十进制、八进制、十六进制
B) 二进制、十进制、八进制、十六进制
C) 二进制、八进制、十六进制
D) 二进制、十进制
5、字符串" China "在内存中占用的字节数是( )
A) 1 B) 2 C) 5 D) 6
6、int x,y; x=7/2;y=7/2.0;则x的值为( )
A) 3.500000 3 B) 3 3.500000
C) 3.500000 3.500000 D)3 3
7、下面程序int x=0x2B; printf("%d",x);的输出结果为( )
A) 2B B) 0x2B C) 43 D) 44
8、实型常量用指数形式表示,下列哪一项不是合法的( )
A) 3.65e3 B)0.356E3 C)356e3 D)3.56e3.0
9、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )
A)0 B)3 C) -9 D) -3
10、下列字符中,错误的转义字符是( )
A)'\085' B) '\\' C) '\0' D) '\n '
11、下面程序的输出结果是( )
int a=2;
if(a=5) a=a+2;
printf("%d ",a);
A) 2 B) 4 C) 5 D)7
12、下列程序段的循环次数是( )
int k=0;
while(k= =0) printf("%d",k);
k--; printf ("\n");
A) 无限次B) 0 次C) 1次D)2次
13、下列说法正确的是( )
A) 在循环体中可以用break语句结束本次循环
B) 在循环体中可以用continue语句结束本次循环
C) break语句仅能使用在switch结构中
D) 可以使用continue语句跳出switch结构
14、以下正确的函数形式是()。
A) int fun(int x,int y) B) int fun(int x,y)
{z=x+y; return z;} {int z; z=x+y; return z;}
{int x,y; int z; z=x+y; return z;} {int z; z=x+y; return z;}
15、若有定义float a[3][6];数组a的第10个元素是( )
A) a[2][1] B) a[10] C) a[2][3] D) a[1][3]
16、若有定义:int a=7;float x=2.5,y=4.7;则表达式
x+a%3*(int)(x+y)%2/4的值是
A)2.500000 B)2.750000 C)3.500000 D)0.000000
17、判断字符串a和字符串b是否相等,应当使用( )
A)if(a= =b) B) if(a=b)
B)if(strcpy (a,b)) D) if(strcmp(a,b)= =0)
18、在函数调用时,若形参和实参都是简单变量,下面说法正确的是( )
A)实参和形参共用内存单元
B)实参和形参各占独立的内存单元
C)由用户确定是否共用内存单
D)由系统确定是否共用内存单元
19、变量x为整型,给int *p;x=5;指针变量赋值正确的是( )。
A)p=5; B) p=x; C) p=*x; D) p=&x
20、下面代码int a=3,*p; p=&a 如果想通过指针变量让a的值改变为4,则( )。