一、 C 语言概述练习题
(一)选择题
1. 一个C 程序的执行是从程序的执行是从 。。
A) A) 本程序的本程序的main 函数开始,到main 函数结束函数结束
B) B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) C) 本程序文件的第一个函数开始,到本程序本程序文件的第一个函数开始,到本程序main 函数结束函数结束
D) D) 本程序的本程序的main 函数开始,到本程序文件的最后一个函数结束
2. 以下叙述不正确的是以下叙述不正确的是 。。
A) A) 一个一个C 源程序必须包含一个main 函数函数
B) B) 一个一个C 源程序可由一个或多个函数组成源程序可由一个或多个函数组成
C) C 程序的基本组成单位是函数程序的基本组成单位是函数
D) D) 在在C 程序中,注释说明只能位于一条语句的后面
3. 以下叙述正确的是以下叙述正确的是 。。
A) A) 在对一个在对一个C 程序进行编译的过程中,可发现注释中的拼写错误
B) B) 在在C 程序中,程序中,main main 函数必须位于程序的最前面函数必须位于程序的最前面
C) C 语言本身没有输入输出语句语言本身没有输入输出语句
D) C 程序的每行中只能写一条语句程序的每行中只能写一条语句
4. 一个C 语言程序是由语言程序是由 。。
A)A)一个主程序和若干个子程序组成一个主程序和若干个子程序组成一个主程序和若干个子程序组成
B) B) 函数组成函数组成函数组成
C) C) 若干过程组成若干过程组成若干过程组成
D) D) 若干子程序组成若干子程序组成若干子程序组成
二、数据类型、运算符与表达式
(一)选择题
1. 若x 、i 、j 、k 都是int 型变量,则计算下面表达式后,x 的值为的值为 。。 x=(i=4,j=16,k=32)
A) 4 B) 16 C) 32 D) 52
2. 下列四组选项中,均不是C 语言关键字的选项是语言关键字的选项是 。。
A) define
IF type B) getc
char printf C) include
case scanf D) while go pow
3. 下列四组选项中,均是不合法的用户标识符的选项是 。。
A) W
P_0 do B) b-a goto int
C) float
la0 _A D) -123 abc TEMP
4. 下列四组选项中,均是合法转义字符的选项是 。。
A) A) ‘‘\”’”’
‘\\\\’’ ‘\n \n’’ B) B) ‘‘\’
‘\017\017’’ ‘\”’”’ C) C) ‘‘\018\018’’
‘\f \f’’ ‘xab xab’’ D) D) ‘‘\\0\\0’’ ‘\101\101’’ ‘xlf xlf’’
5. 下面正确的字符常量是下面正确的字符常量是 。。
A) A) ““c ” B) B) ‘‘\\\\’’’’’’ C) C) ‘’‘’‘’ D) D) ‘‘K ’
6. 以下叙述不正确的是以下叙述不正确的是 。。
A) A) 在在C 程序中,逗号运算符的优先级最低程序中,逗号运算符的优先级最低
B) B) 在在C 程序中,程序中,MAX MAX 和max 是两个不同的变量是两个不同的变量
C) C) 若若a 和b 类型相同,在计算了赋值表达式a=b 后,后,b b 中的值将放入a 中,
二b 中的值不变中的值不变
D) D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量
只能输入实型数值只能输入实型数值
7. 以下叙述正确的是以下叙述正确的是 。。
A) A) 在在C 程序中,每行只能写一条语句程序中,每行只能写一条语句
B) B) 若若a 是实型变量,是实型变量,C C 程序中允许赋值a=10a=10,因此实型变量中允许存放整,因此实型变量中允许存放整型数型数
C) C) 在在C 程序中,程序中,%%是只能用于整数运算的运算符是只能用于整数运算的运算符
D) D) 在在C 程序中,无论是整数还是实数,都能被准确无误地表示
8. 已知字母A 的ASCII 码为十进制数6565,,且c2为字符型,则执行语句c2c2==
‘A ’+‘6’-‘3’后,’后,c2c2中的值为中的值为 。。
A) D B) 68 C) C) 不确定的值不确定的值不确定的值 D) C
9. sizeof(float) sizeof(float)是是 。。
A) A) 一个双精度型表达式一个双精度型表达式一个双精度型表达式 B) B) B) 一个整型表达式一个整型表达式一个整型表达式
C) C) 一种函数表达式一种函数表达式一种函数表达式 D) D) D) 一个不合法的表达式一个不合法的表达式一个不合法的表达式
1010.设.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned unsigned int int int 型数型数
据的取值范围为据的取值范围为 。。
A) 0A) 0~~255 B) 0255 B) 0~~32767 C) 032767 C) 0~~65535 D) 065535 D) 0~~2147483647
1111.设有说明:.设有说明:.设有说明:char w; int x; float y; double z;char w; int x; float y; double z;char w; int x; float y; double z;则表达式则表达式w*x+z-y 值的数据类型为据类型为 。。
A) float B) char C) int D) double
1212.设以下变量均为.设以下变量均为int 类型,则值不等于7的表达式是的表达式是 。。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)
(二)填空题
1. 若有以下定义,则计算表达式y+=y-=m*=y 后的y 值是【值是【11】。】。
int m=5,y=2;
2. 2. 在在C 语言中,一个int 型数据在内存中占2个字节,则int 型数据的取值范围为【围为【22】。】。
3. 若s 是int 型变量,且s =6,则下面表达式的值为【,则下面表达式的值为【33】。】。
s%2+(s+1)%2
4. 4. 若若a 是int 型变量,则下面表达式的值为【型变量,则下面表达式的值为【44】。】。
(a=4*5,a*2),a+6
5. 若x 和a 均是int 型变量,则计算表达式(型变量,则计算表达式(11)后的x 值为【值为【55】,计算表达
式(式(22)后的x x 值为【值为【值为【66】。】。
(1) x=(a=4,6*2)
(2) x=a=4,6*2
6. 6. 若若a 是int 型变量,则计算下面表达式后a 的值为【的值为【77】。】。
A=25/3%3
7. 若x 和n 均是int 型变量,且x 和n 的初值均为5,则计算表达式后x 的值
为【为【88】,】,n n 的值为【的值为【99】。】。
x+=n++
8. 8. 若有定义:若有定义:若有定义:char c=char c=char c=‘‘\010\010’;则变量’;则变量c 中包含的字符个数为【中包含的字符个数为【101010】。】。】。
9. 若有定义:若有定义:int x=3,y=2;float a=2.5,b=3.5;int x=3,y=2;float a=2.5,b=3.5;int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【则下面表达式的值为【则下面表达式的值为【111111】】 (x+y)%2+(int)a/(int)b
10. 10. 已知字母已知字母a 的ASCII 码为十进制数9797,,
且设ch 为字符型变量,则表达式ch=‘a ’+‘8’-‘3’的值为【’的值为【121212】。】。】。
三、简单的C 程序设计
(一)选择题
1. putchar 函数可以向终端输出一个函数可以向终端输出一个 。。
A) A) 整型变量表达式整型变量表达式整型变量表达式 B) B) 实型变量值实型变量值实型变量值
C) C) 字符串字符串字符串 D) D) 字符或字符型变量值字符或字符型变量值字符或字符型变量值
2. printf 函数中用到格式符函数中用到格式符%5s %5s %5s,其中数字,其中数字5表示输出的字符串占用5列。如
果字符串长度大于5,则输出按方式则输出按方式 ;;如果字符串长度小于5,则输出按方式出按方式 。。
A) A) 从左起输出该字符串,右补空格从左起输出该字符串,右补空格从左起输出该字符串,右补空格
B) B) 按原字符长从左向右全部输出按原字符长从左向右全部输出按原字符长从左向右全部输出 C) C) 右对齐输出该字符串,左补空格右对齐输出该字符串,左补空格右对齐输出该字符串,左补空格 D) D) 输出错误信息输出错误信息输出错误信息
3. 阅读以下程序,当输入数据的形式为:2525,,1313,,10<CR>(注:<CR><CR>表示回车)表示回车)
,则正确的输出结果为则正确的输出结果为 。。
main()
{ int x,y,z;
scanf( scanf(““%d%d%d %d%d%d””,&x,&y,&z);
printf( printf(““x+y+z=%d\n x+y+z=%d\n””,x+y+z);
}
A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值不确定值
4. 根据下面的程序及数据的输入和输出形式,根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该程序中输入语句的正确形式应该为 。。
main()
{ char ch1,ch2,ch3;
输入语句输入语句输入语句
printf( printf(““%c%c%c %c%c%c””,ch1,ch2,ch3);
}
输出形式:输出形式:输出形式:A B C A B C
输入形式:输入形式:输入形式:A B c A B c
A) scanf(A) scanf(““%c%c%c %c%c%c””,&ch1,&ch2,&ch3);
B) scanf(B) scanf(““%c,%c,%c %c,%c,%c””,&ch1,&ch2,&ch3);
C) scanf(C) scanf(““%c:%c:%c %c:%c:%c””,&ch1,&ch2,&ch3);
D) scanf(D) scanf(““%c%c %c%c””,&ch1,&ch2,&ch3);scanf输入整型数组
5. 已知ch 是字符型变量,下面正确的赋值语句是 。。
A) ch=A) ch=‘‘a+b a+b’’; B) ch=; B) ch=‘‘\0\0’’; C) ch=; C) ch=‘‘7’+‘9’; D) ch=5+9;
(二)填空题
1. 以下的输出结果是【以下的输出结果是【11】。】。
main()
{ short i;
i=-4;
printf( printf(““\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n ”,i,i,i,i); }
2. 2. 以下的输出结果是【以下的输出结果是【以下的输出结果是【22】。】。
main()
{ char c={ char c=‘‘x ’;
printf( printf(““c:dec=%d,oct=%o,hex=%x,ASCII=%c\n c:dec=%d,oct=%o,hex=%x,ASCII=%c\n””,c,c,c,c); }
3. 以下的输出结果是【以下的输出结果是【33】。】。
main()
{ int x=1,y=2;
printf( printf(““x=%d y=%d * sum * =%d\n x=%d y=%d * sum * =%d\n””,x,y,x+y);
printf( printf(““10 Squared is : %d\n 10 Squared is : %d\n””,10*10);
}
4. 4. 假设变量假设变量a 和b 均为整型,以下语句可以不借助任何变量把a 、b 中的值进
行交换。请填空。行交换。请填空。
a+= a+=【【4】; b=a-; b=a-【【5】; a-=; a-=【【6】;
5. 若x 为int 型变量,则执行以下语句后的x x 值为【值为【值为【77】。】。
x=7; x+=x-=x+x;
z=m=0xFFFF
6. 6. 有一输入语句有一输入语句scanf(scanf(““%d %d””,k);,k);则不能使则不能使float 类型变量k 得到正确数值
的原因是【的原因是【88】和【】和【99】。】。
四、选择结构
(一)选择题
1. 逻辑运算符两侧运算对象三数据类型逻辑运算符两侧运算对象三数据类型 。。
A) A) 只能是只能是0和1 B) B) 只能是只能是0或非0正数正数
C) C) 只能是整型或字符型数据只能是整型或字符型数据只能是整型或字符型数据 D) D) 可
以是任何类型的数据可以是任何类型的数据可以是任何类型的数据
2. 判断char 型变量ch 是否为大写字母的正确表达式是是否为大写字母的正确表达式是 。。
A) A) ‘‘A ’<=ch<=<=ch<=‘‘Z ’ B) (ch>= B) (ch>=‘‘A ’)&(ch<=)&(ch<=‘‘Z ’)
C) (ch>=C) (ch>=‘‘A ’)&&(ch<=)&&(ch<=‘‘Z ’) D) ( D) (‘‘A ’<= ch)AND(<= ch)AND(‘‘Z ’>= ch)
3. 若希望当A 的值为奇数时,表达式的值为“真”,的值为奇数时,表达式的值为“真”,A A 的值为偶数时,表达式
的值为“假”。则以下不能满足要求的表达式是 。。
A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2
4. 设有:设有:int a=1,b=2,c=3,d=4,m=2,n=2;int a=1,b=2,c=3,d=4,m=2,n=2;int a=1,b=2,c=3,d=4,m=2,n=2;执行执行执行(m=a>b)&&(n=c>d)(m=a>b)&&(n=c>d)(m=a>b)&&(n=c>d)后后n 的值
为 。。
A) 1 B) 2 C) 3 D) 4
5. 以下程序的运行结果是以下程序的运行结果是 。。
main()
{ int a,b,d=241;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论