C语言理论基础考试习题.docx
- 文档编号:28720119
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:38
- 大小:30.43KB
C语言理论基础考试习题.docx
《C语言理论基础考试习题.docx》由会员分享,可在线阅读,更多相关《C语言理论基础考试习题.docx(38页珍藏版)》请在冰豆网上搜索。
C语言理论基础考试习题
第一部分C语言理论基础
(4)结构化程序由三种基本结构组成,三种基本结构组成的算法
A)可以完成任何复杂的任务
B)只能完成部分复杂的任务
C)只能完成符合结构化的任务
D)只能完成一些简单的任务
(7)以下叙述中正确的是
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
第二部分C语言基本语法知识
(2)以下叙述中错误的是
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
(4)以下能正确定义且赋初值的语句是
A)int n1=n2=10;
B)char c=32;
C)float f=f+1.1;
D)double x=12.3E2.5;
(5)设有定义:
int k=1,m=2; float f=7;,则以下选项中错误的表达式是
A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m
(6)有以下程序段
int k=0,a=1,b=2,c=3;
k=a
b:
a; k=k>c?
c:
k;
执行该程序段后,k的值是
A)3 B)2 C)1 D)0
(8).以下不能定义为用户标识符的是
A)Main
B)_0
C)_int
D)sizeof
(11)若整型变量a、b、c、d中的值依次为:
1、4、3、2。
则条件表达式a
a:
c c: d的值 A)1 B)2 C)3 D)4 (15)以下4组用户定义标识符中,全部合法的一组是 A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _001 (24)下列关于单目运算符++、--的叙述中正确的是 A)它们的运算对象可以是任何变量和常量 B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D)它们的运算对象可以是char型变量、int型变量和float型变量 (26)以下选项中合法的用户标识符是 A)long B)_2Test C)3Dmax D)A.dat (27)以下非法的赋值语句是 A)n=(i=2,++i); B)j++; C)++(i+1); D)x=j>0; (28)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 A)6.500000 B)6 C)5.500000 D)6.000000 (33)以下选项中不属于C语言的类型的是 A)signed short int B)unsigned longint C)unsigned int D)long short (34)以下叙述正确的是 A)可以把define和if定义为用户标识符 B)可以把define定义为用户标识符,但不能把if定义为用户标识符 C)可以把if定义为用户标识符,但不能把define定义为用户标识符 D)define和if都不能定义为用户标识符 (35)在C语言中,合法的长整型常数是 A)0L B)4962710 C)324562& D)216D (37)假定x和y为double型,则表达式x=2,y=x+3/2的值是 A)3.500000 B)3 C)2.000000 D)3.000000 (38)以下合法的赋值语句是 A) x=y=100 B)d--; C)x+y; D)c=int(a+b); (40)以下程序的输出结果是 main() { int a=3; printf(“%d\n”,(a+a-=a*a)); } A)–6 B)12 C)0 D)–12 (41)以下所列的C语言常量中,错误的是 A)0xFF B)1.2e0.5 C)2L D)‘\72’ (42)下列选项中,合法的C语言关键字是 A)VAR B)cher C)integer D)default (47)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是 A)1 B)2 C)2.0 D)2.5 (48)若变量a、iI已正确定义,且i已正确赋值,合法的语句是 A)a==1 B)++i; C)a=a++=5; D)a=int(i); (49)若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 A)0 B)0.5 C)1 D)2 (50)设有intx=11;则表达式(x++*1/3)的值是 A)3 B)4 C)11 D)12 (51)下列程序的输出结果是 A)3 B)3.2 C)0 D)3.07 main() {doubled=3.2;intx,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); } (52)下列变量定义中合法的是 A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; (53)以下选项中属于C语言的数据类型是 A)复数型 B)逻辑型 C)双精度型 D)集合型 (62)C语言提供的合法的数据类型关键字是 A)Double B)short C)integer D)Char (73)C语言程序的基本单位是 A)程序行 B)语句 C)函数 D)字符 (5)设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【5】。 第三部分顺序结构: 输入与输出 (1)有以下程序 main() { int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 789 (2)有以下程序 main() {intm=0256,n=256; printf("%o%o\n",m,n); } 程序运行后的输出结果是 A)02560400 B)0256256 C)256400 D)400400 (5)有以下程序 main() {int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d %d %3.1f %3.1f\n",a,c,f,x); } 程序运行后的输出结果是 A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5 (6)有定义语句: int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是 A)11 12<回车> B)11,12<回车> C=11,12<回车> D=11,<回车> 12<回车> (8)若有以下程序段(n所赋的是八进制数) intm=32767,n=032767 printf("%d,%o/n",m,n); 执行后输出结果是 A)32767,32767 B)32767,032767 C)32767,77777 D)32767,077777 (9)若有以下程序段 intm=0xabc,n=0xabc; m-=n; printf("%X\n",m); 执行后输出结果是 A)0X0 B)0x0 C)0 D)0XABC (11)设有定义: longx=-123456L;,则以下能够正确输出变量x值的语句是 A)printf(“x=%d\n”,x); B)printf(“x=%ld\n”,x); C)printf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x); (12)以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错、无结果 (18)以下程序的输出结果是 A)17,021,0x11 B)17,17,17 B)17,0x11,021 D)17,21,11 main( ) { int k=17; printf("%d,%o,%x\n",k,k,k); } (23)请读程序: #include main() {inta;floatb,c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%f,c=%f\n",a,b,c); } 若运行时从键盘上输入9876543210 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765 C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0 (25)以下程序的输出结果是 【25】。 #include main() { inta=2,c=5; printf("a=%%d,b=%%d\n",a,c); } A)a=%2,b=%5 B)a=2,b=5 C)a=%%d,b=%%d D)a=%d,b=%d (8)若有程序 main() { int i,j; scanf("i=%d,j=%d";&i,&j); printf("i=%d,j=%d\n",i,j); } 要求给i赋10,给j赋20,则应该从键盘输入 【8】 。 (14)若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是【14】 。 int b,c; floata; scanf("%f,%d,c=%d",&a,&b,&c); (15)若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是【15】。 inta,b; scanf("a=%d,b=%d",&a,&b); 第四部分选择结构 (3)设有定义: int a=2,b=3,c=4;,则以下选项中值为0的表达式是 A)(! a==1)&&(! b==0) B)(a c||1 C)a&&b D)a||(b+b)&&(c-a) (4)设变量a、b、c、d和y都已正确定义并赋值。 若有以下if语句 if(a if(c==d) y=0; else y=1; 该语句所表示的含义是 (6)有以下程序 main() { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); } 程序运行后的输出结果是 A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 3 (8)有以下程序 main() { inta=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d+++1); else printf("%d",++d+1); printf("%d\n",d); } 程序运行后的输出结果是 A)2 B)3 C)43 D)44 (10)以下4个选项中,不能看作一条语句的是 A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0)m=1;n=2; (11)以下程序段中与语句k=a>b? (b>c? 1: 0): 0;功能等价的是 A)if((a>B)&&(b>C))k=1; B) if((a>B)||(b>C)) k=1 else k=0; C)if(a<=B) k=0; D)if(a>B) k=1; elseif(b<=C) k=1; elseif(b>C) k=1; elsek=0; (12)有以下程序 main() {int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a printf("%d,%d\n",k,m); } 程序运行后的输出结果是 A)0,0 B)0,1 C)1,0 D)1,1 (15)有以下程序 main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d\n",d); elseif((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2) } 执行后输出结果是 A)2 B)3 C)4 D)编译时有错,无结果 (16)已有定义: intx=3,y=4,z=5;,则表达式! (x+y)+z-1&&y+z/2的值是 A)6 B)0 C)2 D)1 (17)有一函数, ,以下程序段中不能根据x值正确计算出y值的是 A)if(x>0)y=1; B)y=0; elseif(x==0)y=0; if(x>0)y=1; elsey=-1; elseif(x<0)y=-1; C)y=0; D)if(x>=0) if(x>=0); if(x>0)y=1; if(x>0)y=1 ; elsey=0; elsey=-1; elsey=-1; (18)有以下程序 main() { inta=15,b=21,m=0; switch(a%3) {case0: m++;break; case1: m++; switch(b%2) {default: m++; case0: m++;break; } } printf(“%d\n”,m); } 程序运行后的输出结果是 A)1 B)2 C)3 D)4 (24)设x、y、t均为int型变量,则执行语句: x=y=3;t=++x||++y;后,y的值为 A)不定值 B)4 C)3 D)1 (46)在下列选项中,不正确的赋值语句是 A)++t; B)n1=(n2=(n3=0)); C)k=i==j; D)a=b+c=1; (47)能正确表示a≥10或a≤0的关系表达式是 A)a>=10ora<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10││a<=0 (2)以下程序运行后的输出结果是 main() { int a=3,b=4,c=5,t=99;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 理论基础 考试 习题