C语言(1-3章习题)
- 格式:docx
- 大小:18.90 KB
- 文档页数:8
信息学奥赛辅导:C语言复习题(一)第1~3章练习题一、选择题1、一个C语言程序总是从____A、主过程开始执行B、主函数开始执行C、子程序开始执行D、主程序开始执行2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_A、4B、16C、32D、523、下面四个选项中,均是C语言关键字的选项是____A、auto enum includeB、switch typedef continueC、signed union scanfD、if struct type4、下面四个选项中,均是合法整型常量的选项是____A、160 -0xffff 011B、-0xcdf 01a 0xeC、-01 986,012 0668D、-0x48a 2e5 0x5、下面四个选项中,均是合法浮点数的选项是___A、+1e+1 5e-9.4 03e2B、-.60 12e-4 -8e5C、123e 1.2e-.4 +2e-1D、-e3 .8e-4 5.e-06、下面四个选项中,均是合法转义字符的选项是____A、'\'' '\\' '\n'B、'\' '\017' '\"'C、'\018' '\f' 'xab'D、'\\0' '\101' 'xlf'7、下面正确的字符常量是____A、'\X17'B、'\80'C、'\\'D、"\n"8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____A、-10 0x8f -011B、0abc -017 0xcC、010 -0x11 0xf1D、0a12 -0x123 -0xa9、下面四个选项中,均是正确的数值常量或字符常量的选项是____A、0.0 0f 8.9e '&'B、"a" 3.9E-2.5 1e1 '\"'C、'3' 011 0xFF00 0aD、+001 0xabcd 2e2 50.10、若有代数式,则正确的C语言表达式是____A、2*ln(x)*cos(x)/3*xB、2*ln(x)*cos(x)/(3*x)C、2*log(x)*cos(x)/3*xD、2*log(x)*cos(x)/(3*x)11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____A、包含1个字符B、包含2个字符C、包含3个字符D、字符个数不确定,说明不正确12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____A、*=→?:→%→>→sizeofB、?:→*=→>→%→sizeofC、*=→>→?:→sizeof→%D、*=→?:→>→%→sizeof13、若有以下类型说明语句:char a;int b;float c;double d;则表达式a*b+d-c的结果类型为____A、floatB、charC、intD、double14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____A、a=9+b+c=a+9B、a=9+b;c=a+9;C、a=(9+b,b++)D、a=9+b++=a+715、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____A、DB、68C、一个不确定的值D、C16、以下运算符中优先级最高的运算符是____A、&&B、++C、?:D、!=17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___A、2.500000B、2.7500000C、3.500000D、0.00000018、sizeof(float)是____A、双精度型表达式B、一个整型表达式C、一个函数调用D、一个不合法的表达式19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.020、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____A、0~255B、0~65535C、-32768~+32767D、-256~+25521、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)A、n%=(m%=5)B、n%=(m-m%5)C、n%=m-m%5D、(n%=m)-(m%=5)22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___A、4B、3C、2D、123、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___A、20B、100C、表达式不正确D、4524、putchar函数可以向终端输出一个____A、整型变量值B、实型变量值C、字符串D、字符或字符型变量值25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A、scanf("%f,%f",&x1,&x2);B、scanf("%f%f",&x1,&x2);C、scanf("%3.2f└─┘%2.1f",&x1,&x2);D、scanf("%3.2f%2.1f",&x1,&x2);26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___main( ){int a1,a2,a3;scanf("%d%d%d",&a1,&a2,&a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A、a1+a2+a3=48B、a1+a2+a3=25B、a1+a2+a3=10D、不确定值27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A、132<回车>B、a=1b=3c=2<回车>C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____A、int x=y=z=5;B、int x,y,z=5;C、int x=5,y=5,z=5;D、x=5,y=5,z=5;29、执行下面程序段后,x的值是____int x;printf("%d\n",(x=3*5,x+5));A、10B、15C、20D、5 30、下面程序段的输出结果是____int a=023;printf("%d\n",--a);A、23B、17C、18D、2431、已知ch是字符型变量,则不正确的赋值语句是____A、ch=5+9;B、ch='\0';C、ch='7'+'9';D、ch='a+b';32、设x,y是float型变量,则不正确的赋值语句是____A、++x;B、y=int(5);C、x*=y+1;D、x=y=0;33、设有说明:double b=0.5,c=1.5;int a=10;则正确使用了C语言库函数的赋值语句是____A、c=asin(c)+fabs(a);B、b=log10(b)+pow(b);C、c=sqrt(b-c);D、a=(int)(atan2((double)a,b)+exp(b-0.2));34、以下程序段的输出结果是____int i=1,j=4,k=2;float x=5.5,y=9.0,z;z=(i+j)/k+sqrt((double)y)*1.2/k+x;printf("%f\n",z);A、9.800000B、9.300000C、8.500000D、8.00000035、若a为int类型变量,则执行以下程序段后a的值为____a=5;a*=a/=a++;A、2B、1C、40D、336、若a和b均为int型变量,则执行以下程序断后x的输出是____x=15;y=15;printf("%d\n",x%=(y%=2));A、0B、1C、6C、1237、若x为unsigned int类型变量,则执行以下程序段后x的值是____x=65535;printf("%d\n",x);A、65535B、1C、无定值D、-138、以下语句的执行结果是____printf("%d\n",NULL);A、1B、0C、-1无定值39、若x为int类型变量,则执行以下程序段后的输出结果是____x=0xDEF;printf("%4d,%4o,%4x\n",x,x,x);A、3567,6757,defB、3567,6757,xdefC、3567,06757,0xdefD、3567,6757,0def40、若a、b、c均为int型变量,则执行以下程序段后的输出结果为____b=(a=10,a+5,c=10);printf("a=%d,b=%d,c=%d\n",a,b,c);c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);A、a=10,b=15,c=10B、a=10,b=10,c=10a=10,b=5,c=10 a=10,b=5,c=10C、a=10,b=10,c=10D、a=10,b=10,c=10a=10,b=5,c=15a=10,b=5,c=541、若a1、a2、a3、a4均为char类型变量,则执行以下程序段后的输出结果为____a1='1';a2='2';a3='3';a4='4';printf("%1c\n",a1);printf("%2c\n",a2);printf("%3c\n",a3);printf("%4c\n",a4);A、1B、1C、1D、输出格式的描述符不正确2 2 023 3 0034 4 000442、执行语句printf("The program's name is c:\\tools\book.txt");后的输出是____A、The program's name is c:tools book.txtB、The program's name is c:\tools book.txtC、The program's name is c:\\tools book.txtD、The program's name is c:\toolook.txt43、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是____scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);A、1234123121<回车>B、1234123412341234<回车>C、1234+1234+1234+1234<回车>D、1234+123+12+1<回车>44、设c1、c2均是char类型变量,则以下不正确的函数调用是____A、scanf("c1=%cc2=%c",&c1,&c2);B、getchar( )C、putchar(c2);D、putchar(c1,c2)45、逻辑运算符两侧运算对象的数据____A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据46、判断char型变量c1是否为大写字母的正确表达式是____A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')C、(c1>='A')&&(c1<='Z')D、('A'<=c1) AND ('Z'>=c1)47、执行以下程序段后的a值是___,b的值是___,c的值是___int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&&(b=y>z);A、0B、6C、1D、548、设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是_A、'i'&&'j'B、i<=jC、i||j+k&&j-kD、!((i<j)&&!k||1)49、设ch是char类型变量,其值是A,则以下表达式的值是____ch=(ch>='A'&&ch<='Z')?(ch+32):chA、ZB、AC、aD、z50、若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。
C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释 B)编译 C)汇编 D)目标2.不属于面向机器语言的是()A)符号语言 B)二进制语言 C)汇编语言 D)C 语言3.将高级语言编写的程序翻译成目标程序的程序是()。
A)解释 B)编译 C)汇编 D)二进制4.不属于高级语言的是()。
A)BASICB)CC)ALGOLD)符号语言5.程序段的基本结构中,不包含()。
A)函数结构 B)循环结构 C)顺序结构 D)分支结构6、C语言源程序的最小单位是()。
A、程序行B、语句C、函数D、字符7、以下说法正确的是()。
A、在C语言中,要调用的函数必须在main() 函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中, main() 函数必须放在程序的开始部分D、C语言程序总是从main() 函数开始执行8、以下对 C语言描述中正确的是()。
A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对 C语言源程序执行过程描述正确的是()。
A、从main()函数开始执行,到main() 函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从 main 函数开始执行,到源程序的最后一个函数结束D、从第一个函数开始执行,到 main 函数结束。
填空题1.能完成某个任务的、有始有终的 C语言 ___称为 C 程序。
2.用来编写程序的计算机语言称为 ____。
3.高级语言编写的程序称为 ____。
4.用C语言编写的源程序简称为“C程序”,扩展名规定为“____”。
5.C 程序经过“编译”后将获得扩展名为“OBJ”的 ____。
6.C 程序经过编译后获得的中间代码文件还需要经过____,才能成为可执行的“程序”,目标程序的扩展名规定为"EXE"。
C语言选择题(1・4章期末复习)第1章1 .以下叙述不正确的是()。
A、C程序的基本组成单位是函数B、在C程序中,注释说明只能位于一条语句的后面C、一个C源程序必须包含一个main函数D、一个C源程序可由一个或多个函数组成2 .C语言的注释定界符是()。
A、V *\B、{}C []D、/**/3 .C语言规定,在一个源程序中,main函数的位置()。
A、必须在最开始B、必须在系统调用的库函数的后面C、必须在最后D、可以任意4 .一个C程序的执行是从()。
A、本程序文件的第一个函数开始,到本程序main函数结束B、本程序的main函数开始,到main函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束5 .以下叙述中正确的是()。
A、C程序中注释部分可以出现在程序中任意合适的地方B、分号是C语句之间的分隔符,不是语句的一部分C、花括号〃{〃和〃 }〃只能作为函数体的定界符D、构成C程序的基本单位是函数,所有函数名都可以由用户命名6 .以下叙述正确的是()。
52 .已有定义:int x=3/y=4,z=5; z则表达式!(x+y)+z-l && y+z/2的值是()A、6B、1C、0D、253 .若给定条件表达式(M)?(a + +):(a--),则其中表达式M( )oA、和(M! = l)等价B、和(M = = l)等价C、和(M!=0)等价D、和(M = =0)等价54 .用下列语句定义a , b , c ,然后执行b=a, c='b'+b,则b , c 的值是()olong a=3;int b; char c;A、2 和101B、3 和101C、3 和100D、3 和9955 .表达式18/4*sqrt(4.0)/8值的数据类型为()。
A、不确定B、doubleC、intD、float56 .若a为int类型,且其值为3 ,则执行完表达式a+=a-=a*a后, a 的值是()。
一、选择题(可不抄题目)1.执行"int k=11;k=1/3*k++;"后,k的值是____A.0B.3C.4D.122.以下常量中正确的是___ ___A.'abc'B.'\x123'C.3.145E-1.2D."a"3.能将高级语言编写的源程序转换成目标程序的是______。
A. 编辑程序B. 编译程序C. 解释程序D. 链接程序4.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。
A. 6.500000B. 6C. 5.500000D. 6.0000005. 正确的C语言用户自定义标识符是______。
A. ok?B. floatC. a3bD. random﹪26.以下程序的输出结果是void main( ){int a=12,b=12;printf("%d %d\n",--a,++b);}A.10 10B.12 12C.11 10D.11 13二、填空题(可不抄题目)1.若有"int a=5;a+=a-=-a*a;",则a的值是___2.表达式a=3*5,a*4,a+5的值是___________3. C程序开始往往含有以“#”开头的命令,它们是命令。
在程序中以“/*”开始, 以“*/”结束的内容, 它们是程序中的部分, 用以帮助阅读程序。
程序代码的录入,生成程序*.c,语法分析查错,翻译生成程序*.obj,与其它目标程序或库链接装配,生成程序*.exe。
4. 设int a; float f; double i ;则表达式10+'a'+i*f值的数据类型是___________。
三、程序题:1、编写一个程序,能显示出以下两行文字(用顺序结构完成)。
2、从键盘上输入三个小数,求出平均值,并输出这三个数和平均值,要求平均值保留2位小数位数。
第1,2章测验考试- 试答2Question 1分数: 2 下列不正确的转义字符是()。
选择一个答案 a. '\0'b. '\"c. '\\'d. '074'Question 2分数: 2 一个C语言程序是由()。
选择一个答案 a. 若干过程组成。
b. 函数组成。
c. 一个主程序和若干子程序组成。
d. 若干子程序组成。
Question 3分数: 2 若有定义int a=2,i=3;,则合法的语句是()。
选择一个答案 a. a==1b. a=a++=5;c. ++i;d. a=int(i);Question 4分数: 2 下列程序执行后的输出结果是()。
#include <stdio.h>void main(){int x='F';printf("%c\n",'a'+(x-'a'+1));}答案:Question 5分数: 2 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
选择一个答案 a. 必须为字母b. 可以是字母,数字和下划线中任一种字符c. 必须为下划线d. 必须为字母或下划线Question 6分数: 2 下面四个选项中,均是合法浮点数的选项是()。
选择一个答案 a. -0.60 12e-4 8e5b. +1e+1 5e-9.4 03e2c. 123e 1.2e-.4 +2e-1d. e3 .8e4 5.e-0Question 7分数: 2 C语言规定:在一个源程序中,main函数的位置()。
选择一个答案 a. 必须在最开始。
b. 可以任意。
c. 必须在系统调用的库函数的后面。
d. 必须在最后。
Question 8分数: 2 若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。
选择一个答案 a. 1.0b. 2.5c. 2.0d. 1.5Question 9分数: 2 在C语言中,合法的字符常量是()。
C语言各章节练习题(含答案)一、c语言概述练习题选择1.一个c程序的执行是从。
a)本程序的main函数开始,到main函数结束b)本程序文件的第一个函数已经开始,至本程序文件的最后一个函数完结c)本程序文件的第一个函数已经开始,至本程序main函数完结d)本程序的main函数已经开始,至本程序文件的最后一个函数完结2.以下描述不恰当的就是。
a)一个c源程序必须包含一个main函数b)一个c源程序可由一个或多个函数组成c)c程序的基本组成单位是函数d)在c程序中,注释说明只能位于一条语句的后面3.以下描述恰当的就是。
a)在对一个c程序进行编译的过程中,可发现注释中的拼写错误b)在c程序中,main 函数必须位于程序的最前面c)c语言本身没输入输出语句d)c程序的每行中就可以写下一条语句4.一个c语言程序就是由。
a)一个主程序和若干个子程序组成b)函数组成c)若干过程组成d)若干子程序组成二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)a)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。
a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。
(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。
a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。
-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。
《C 语言程序设计》各章练习题2016年12月汇编第1—3章 C 语言基础、编程规范、顺序结构程序设计编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a ,b 的值,然后交换a,b 的值。
要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a ,b 的值。
附加要求:(1)允许定义第3个变量,实现交换; (2)不允许定义第3个变量,实现交换。
第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎪⎩⎪⎪⎨⎧>=<+-=0020212x x x x x y 编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎩⎪⎨⎧>≤≤--<=002222x x x x x y 编程题3:求 ax 2+bx+c=0方程的解.(只输出b 2-4ac 〉=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算∑=ni i 1。
要求提示键盘输入n ,如n 为负数,不予计算,直接返回。
编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。
编程题6:从键盘输入一个数n,判断n 是否是素数。
编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。
编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。
编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。
编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc ,其中a≠b 且c≠d 。
如:12×42=21×24.请编程找出30~50之间满足上述等式所有m,n 值,并按上述等式的格式输出。
(×用*表示)编程题10:从键盘上输入一个整数,然后把这个整数的各位逆序输出.例如,输入123456,输出654321.第6章数组编程题11:有一个已排好序的数组int a[11]={-5,—3,0,6,8,12,16,28,66,88};,要求输入一个数后,按原来排序的规律将它插入数组中。
C语言1-3章习题(部分)一、判断题1、C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
(√)2、自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
(√)3、c程序可由若干个源程序文件组成。
(√)4、宏替换时先求出实参表达式的值,然后代入形参运算求值。
(×)5、用%s格式符输出字符串时,输出字符不包括结束符’\0’。
(√)6、#define指令是一个预处理编译器指令,不是程序语句,因此,#define不能用分号结尾。
(√)7、一个程序应包括对数据的描述和对操作的描述,其中对数据的描述也就是算法。
(×)8、在C程序中对用到的所有数据都必须指定其数据类型。
(√)9、一个实型变量的值肯定是精确的。
(×)10、do-while循环的while后的分号可以省略。
(×)11、c语言中函数定义不允许嵌套,但调用可嵌套。
(√)12、与其他语句一样,预处理命令必须以分号结尾。
(×)13、在一个源程序中,main函数的位置必须在最开始。
(×)14、函数可以调用自己。
(√)15、scanf函数一次只能读取一个值。
(×)16、一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。
(√)17、字符串“a”只包含1个字符。
(×)18、在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。
(√)19、C程序中,函数的定义可以嵌套,但函数的调用不可以嵌套。
(×)20、C程序中,无论是整数还是实数,都能被准确无误地表示。
(×)21、一个C源程序中有且仅有一个main()函数。
(√)22、语句可以用分号或句号结尾。
(×)23、“0”是字串常量,长度为2。
(×)24、3/9和9%3的结果都是0。
C 语言1-3 章习题(部分)、判断题1、C 程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
(V )2、自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
( V)3、c 程序可由若干个源程序文件组成。
(V )4、宏替换时先求出实参表达式的值,然后代入形参运算求值。
(X )5、用%s格式符输出字符串时,输出字符不包括结束符’\0 ' o (V )6、#define 指令是一个预处理编译器指令,不是程序语句,因此,#define 不能用分号结尾。
(V )7、一个程序应包括对数据的描述和对操作的描述,其中对数据的描述也就是算法。
(X )8、在C程序中对用到的所有数据都必须指定其数据类型。
(V )9、一个实型变量的值肯定是精确的。
(X )10、d o-while循环的while后的分号可以省略。
(X )11、c 语言中函数定义不允许嵌套,但调用可嵌套。
(V )12、与其他语句一样,预处理命令必须以分号结尾。
(X )13、在一个源程序中,main 函数的位置必须在最开始。
(X )14、函数可以调用自己。
(V )15、scanf函数一次只能读取一个值。
(X )16、一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。
(V )17、字符串“ a”只包含1个字符。
(x )18、在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。
(“)19、C程序中,函数的定义可以嵌套,但函数的调用不可以嵌套。
(x )20、C程序中,无论是整数还是实数,都能被准确无误地表示。
(X )21、一个C源程序中有且仅有一个main ()函数。
(V )22、语句可以用分号或句号结尾。
(X)23、“0”是字串常量,长度为2。
(X )24、3/9和9%3的结果都是0。
(V )25、字符常量是用双引号括起来的一个字符。
(X )26、3/9和9%3的结果都是0。
(V )27、取模运算符%只能用于整数。
(V )28、while语句是先判断循环条件,后执行循环体。
(V )29、所有变量在声明时都必须给定一个类型。
(V )、填空题1、计算机算法可以用自然语言、流程图和计算机语言(或伪代码)等方法表示。
2、seanf处理输入数据时,遇到下列情况时该数据认为结束:(1)空格或回车或跳格(Tab)键,(2)非法输入__________ ,(3)按指定的宽度结束。
3、“ n是大于整数m 的奇数”的C 语言表达式是_______________________n>m&&n%2==1 _________ 。
4、a=12,运行表达式“ a/=a+a”后,a的值为______ 0 ___________ 。
5、C源程序的基本单位是函数。
6、运行C程序的步骤是:编辑源程序一编译,得到目标程序一连接,得到可执行程序一运行,得到结果。
7、三种基本程序结构是顺序,选择和循环。
8、已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是a*100+b*10+c 。
9、printf函数和scanf函数的格式说明都使用% _____ 字符开始。
10、一般地,调用标准字符或格式输入输出库函数时,文件开头应使用_stdio.h ______ 头文件。
11、“y能被4整除但不能被100整除,或y能被400整除”的C语言表达式是(y%4==0&&y%100!=0)||(y%400==0)。
12、至少执行一次循环体的循环语句是do-while ______________ 。
13、设x,y,z均为int型变量,描述“x或y中有一个小于z ”的表达式为x<z||y<z ________ 。
14、在C语言中的实型变量分为两种类型,它们是单精度、双精度。
15、C语言中要表示条件x>y>z,正确的逻辑表达式是:x>y&&y>z 。
三、单项选择题1、以下描述正确的是(C )。
A. 在C程序中,main函数必须位于程序的最前面B. C程序中的每行中只能写的一条语句C. C语言本身没有输入输出语句D •在对一个C程序进行编译的过程中,可发现注释中的拼写错误2、下面四个选项中,不合法的用户标识符选项是(C)。
A._A B._123 C. b-a D.tan3、下面不正确的字符串常量是(A)。
A.‘bc' B.“12'12” C.“0” D.“ ”4、在C 语言中,要求运算数必须是整型的运算符是(D )。
A./ B. ++ C.!= D. %5、表达式18/4*sqrt(4.0)/ 8 值的数据类型为(C )。
A. intB. floatC. double D .不确定6、C 语言中,函数返回值类型的定义可以缺省,此时函数值的隐含类型是(B )A. voidB. intC. floatD. double7、已知ch是字符变量,下面不正确的赋值语句是(A)。
A. ch='a+b';B. ch='\0 ';C.ch='7'+'9';D . ch =5+9 ;8设x和y均为int型变量,则以下语句:x += y ; y = x-y; x -= y;的功能是(D)。
A .把x和y按从大到小排列B. 把x 和y 按从小到大排列C. 无确定结果D .交换 x 和 y 中的值9、一个 C 语言的语句至少应包一个( C )。
A . {} B. 逗号 C. 分号 D. 什么不要9、算法的确定性是指( B )A. 算法应包含有限的操作步骤B. 算法中的每一个步骤都应当是确定的C. 在执行算法时需要从外界取得必要的信息D. 算法中的每一个步骤都应当能有效地执行,并得到确定的结果10、下列关于 C 语言用户标识符的叙述中正确的是( B )。
A 用户标识符中可以出现下划线和中划线(减号)B 用户标识符中不可以出现中划线,但可以出现下划线C 用户标识符中可以出现下划线,但不可放在标识符开头D 用户标识符中可以出现下划线和数字, 它们都可放在用户标识符的开头11、 已知梯形的上底为a,下底为b ,高为h ,用C 语言写的正确的面积公式 是( B )。
A 1/2*(a+b )*hB 1.0/2*(a+b )*hC 1.0/2.0(a+b )hD 1.0/2*a+b*h12、 已有定义char s1,s2;,下面正确的语句是(C )。
A scanf( “ %s%c ” ,s1,s2);B scanf( “ %s%c ”,s1,&s2);C scanf(“ %c%c”,&s1,&s2);D scanf(“ %s%c”,s1,s2);13、为下面的程序输入数据,使得i=10,k= ' a',j=15,正确的键盘输入方法是( D )。
#include<stdio.h>void main ()int i,j,k;scanf ( “ %d%c%d ”,,&ki,&j);printf ( “ i=%d,j=%c,k=%n ”d ,i,k,j);}A 10,a,15<@车 >B 10<回车 >a< 回车 >15< 回车>C 10' a ' 15< 回车D 10a15<0车 >14、设整型变量 x 、y 、z 的值分别为 3、2、 1,则下列程序段的输出是(C ) If (x>y ) x=y;if (x>z ) x=z;printf ( “ %d,%d,n%”d ,x,y,z );A 3,2,1B 1,2,3C 1,2,1 15、 putchar 函数可以向终端输出一个(A. 整型变量表达式值C. 字符串16、 一个 C 语言程序是由( B )。
A •一个主程序和若干子程序组成的C .若干过程组成17、 在C 语言中,char 型数据在内存中的存储形式是(D )。
A .补码B .反码C .原码D . ASCII 码18、 若有以下定义,则正确的赋值语句是( B )。
int a , b ; float x ;A .a=1 , b=2 ,B . b++ ;C .a=b=5D .b=int ( x );19、若变量c 为char 类型,能正确判断出c 为小写字母的表达式是(D )D 1,1,1D )。
B. 实型变量值D. 字符或字符型变量值B •函数组成D .若干子程序组成B.(c>= 'a')||(c<= 'z')A .'a'<=c<= 'z'C.('a'<=c)and ('z'>=c) D.(c>= 'a')&&(c<= 'z')20、在宏定义#define PI 3.14159中,用宏名PI 代替一个( D )。
A. 单精度数B. 双精度数C. 常量D. 字符串21、表达式(float)12/8 及表达式12/8 的值分别是( C )。
A.1.0 1 B.1.5 1.5 C.1.5 1 D. 1.5 222、C 源程序的扩展名为( C )。
A..doc B..txt C..c D. .obj23、C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符:(C )。
A •必须为字母B.必须为下划线C.必须为字母或下划线 D •可以是字母、数字和下划线中任一种字符四、编程序1、编写一个程序,从键盘读取3 个整数值,并显示输出,说明它们是否是直角三角形的边。
(是则输出YES,不是则输出NO )。
2、编写程序对输入两个整数,按从大到小顺序输出。
3、写一个比较两个整数大小的函数,在主函数中输入三个整数,调用此函数,输出三个整数中最大的一个数。