高级语言程序设计复习题1.docx
- 文档编号:17973292
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:50
- 大小:32.31KB
高级语言程序设计复习题1.docx
《高级语言程序设计复习题1.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计复习题1.docx(50页珍藏版)》请在冰点文库上搜索。
高级语言程序设计复习题1
高级语言程序设计复习题
1.以下选项中,不能作为合法常量的是C
A.“a”B.‘a’C.1.234e0.4D.1.234e0
2.下列说法中正确的是C。
A.C语言程序总是从第一个定义的函数开始执行。
B.在C语言程序中要调用的函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须在程序的开始部分
3.以下叙述中正确的是C
A.用C语言实现的算法必须要有输入和输出操作
B.用C语言实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
4.以下标识符中,不能作为合法的用户定义标识符的是(B)
A.answerB.toC._ifD.signed
5.下列标识符中,不是C语言提供的数据类型关键字是(C)。
A.doubleB.shortC.integerD.char
6.下列表达式的值为0的是C
A.3﹪5.0B.3/5.0C.3/5D.3%5
7.C语言程序中必须有的函数是(C)
A.#include"stdio.h"B.printfC.mainD.scanf
8.有以下定义:
charc[10];
则正确的输入语句是C
A.scanf("%s",&c);B.scanf("%c",&c);
C.scanf("%s",c);D.scanf("%c",c);
9.设有语句chara=‘\72’,则变量a是(A)。
A.包含1个字符B.包含2个字符
C.包含3个字符D.说明不合法
10.有定义:
inta=8,b=5,c;,执行语句c=a/b+0.4;后c的值为(A)
A.1.4 B.1C.2.0D.2
11.若整型变量a、b、c、d中的值依次为:
1、4、3、2,则条件表达式a a: c的值是C A.1B.2C.3D.4 12.设有如下定量定义: 则下列符合C语言语法的表达式为(A)。 inti=8,k,a,b; unsignedlongw=5;doublex=1.42,y=5.2; A.a+=a-=(b=4)*(a=3)B.x%(-3)C.a=a*3=2D.y=floati 13.C语言中运算对象必须是整型的运算符是(A) A.%=B./C.=D.<= 14.以下输入语句正确的是(D)。 A.scanf(“%f”,3.5);B.scanf(“a=%d,b=%d”,a,b); C.scanf(“%7.2f”,&f);D.scanf(“%f”,&f); 15.执行下列程序 inta[3][3]={{1},{2},{3}}; intb[3][3]={1,2,3}; main() {printf(″﹪d\n″,a[1][0]+b[0][0]);}后输出的结果是D A.0B.1C.2D.3 15.设有以下语句 charch1,ch2;scanf(”%c%c”,&ch1,&ch2); 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是(D) A.A和B之间不能有任何间隔符B.A和B之间用逗号间隔 C.A和B之间可以用回车间隔D.A和B之间用空格间隔 16.以下程序的输出结果是D voidmain() {inta=12,b=12; printf(“%d%d\n”,--a,++b);} A.1010B.1212C.1110D.1113 17.C语言基本类型包括B A.整型、实型、逻辑型B.整型、实型、字符型 C.整型、字符型、逻辑型D.整型、实型、字符型、逻辑型 18.以下程序段A x=-1; do { x=x*x; } while(! x); A.是死循环B.循环执行二次 C.循环执行一次D.有语法错误 19.下列条件语句中,输出结果与其他语句不同的是(B)。 A.if(a)printf("%d\n",x);elseprintf("%d\n",y); B.if(a=0)printf("%d\n",x);elseprintf("%d\n",y); C.if(a! =0)printf("%d\n",x);elseprintf("%d\n",y); D.if(a==0)printf("%d\n",y);elseprintf("%d\n",x); 20.有以下程序 voidmain() {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);} 则该程序运行后的输出结果是C A.1B.2C.3D.4 21.以下正确的描述是: B A.continue语句的作用是终止整个循环的执行。 B.break语句的作用是终止整个循环的执行。 C.continue语句和break语句都可以在switch语句中使用。 D.break语句的作用是结束本次循环的执行。 22.有如下程序 voidmain() {intn=9;while(n>6){n--;printf(“%d”,n);}} 该程序段的输出结果是(C) A.987B.8765C.876D.9876 23.c语言源程序的基本单位是__B__ A.过程B.函数C.子程序D.标识符 24.设i和k都是int类型,则for循环语句____B______。 for(i=0,k=-1;k=1;i++)printf("****\n"); A.循环结束的条件不合法B.循环体一次也不执行 C.循环体只执行一次D.无限循环 25.以下程序段的输出结果为(D) for(i=4;i>1;i--) for(j=1;j A.无B.###C.#D.###### 26.下列程序的输出结果为___B____。 voidmain() {intm=7,n=4; floata=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf("%f\n",x); } A.27.000000B.27.500000C.28.000000D.28.500000 27.假定所有变量均已正确说明,下列程序段运行后x的值是___B_______。 a=b=c=0;x=35; if(! a)x--; elseif(c) x=3; elsex=4; A.4 B.34 C.35 D.3 28.以下程序的运行结果是(D)。 voidmain() {intn; for(n=1;n<=10;n++) { if(n%3==0)continue; printf("%d",n); } } A)1234567890B)369 C)12D)12457810 29.以下能对二维数组a进行正确初始化的语句是(C)。 A)inta[2][]={{1,0,1},{5,2,3}}; B)inta[2][4]={{1,2,3},{4,5},{6}}; C)inta[][3]={{1,2,3},{4,5,6}}; D)inta[3]={{1,0,1},{},{1,1}}; 30.在C语言程序中,全局变量的作用域是(B) A.整个源程序B.从定义处开始到源程序结束 C.仅限于main函数D.每一个函数 31.执行下列程序段后,i的值是(B) inti,x; for(i=1,x=1;i<20;i++) {if(x>=10)break; if(x%2==1) {x+=5;continue;} x-=3;} A.4B.5C.6D.7 32.若有以下的定义“inta[3][2];”,则能正确表示a中某数组元素地址的表达式是(D) A.&a[3][2]B.a[3]C.*a[2][1]D.&a[1][1] 33.下列程序的输出结果是( B) voidmain() {intx=1,y=0,a=0,b=0 ; switch(x) { case1: switch(y) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++;break; } printf("a=%d,b=%d\n",a,b); } A.a=1,b=0B.a=2,b=1C.a=1,b=1D.a=2,b=2 34.下列选项中正确的语句组是( A) A.char*s;s="Beijing"; B.char*s;s={"Beijing"}; C.chars[8];s="Beijing"; D.chars[8];s={"Beijing"}; 35.在以下语句中,与表达式“c=(a>b)? b: a”作用相同的是(C) A.if(a>b)c=a;elsec=b;B.if(a C.c=a;if(a>b)c=b;D.c=b;if(a>b)c=a; 36.以下结构体类型说明和变量定义中正确的是A A.typedefstructB.structREC {intn;charc;}REC;{intn;charc;}; RECt1,t2 ;RECt1,t2 ; C.typedefstructREC ;D.struct {intn=0;charc=’A’;}t1,t2 ;{intn;charc;}REC; RECt1,t2 ; 37.若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为(A) A.scanf("%d",p);B.scanf("%d",&p); C.scanf("%d",*p);D.scanf("%d",**p); 38.以下程序的输出结果是(C)。 #include voidmain() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec++; printf(“%d\n”,c); } A.0B.1C.2D.3 39.下面的程序段的输出结果是(C)。 intj; for(j=1;j<10;j+=2) printf(“%d”,j); A.123456789B.2468C.13579D.124 40.以下程序的输出结果是(B)。 voidmain() {intnum=0; while(num<=2) {num++;printf("%d\n",num);} } A.1B.1C.1D.l 222 33 4 41.C语言函数定义时若函数类型缺省,则该函数类型是( B ) A.floatB.intC. longD.double 42.以下一维数组a的正确定义是D。 A.inta(10);B.intn=10,a[n]; C.intn;scanf(“%d”,&n);D.#defineSIZE10 inta[n];inta[SIZE]; 43.C语言函数定义时若函数类型缺省,则该函数类型是( B ) A.floatB.intC. longD.double 44.有以下程序 voidmain() { intp[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<&&p[i]%2){k=k+p[i];i++;} printf(″%d\n″,k); } 它执行后的输出结果是(B)。 A.8B.56C.45D.24 45.假定int类型变量占用两个字节,并有定义“inta[5]={0,2,4,6};”,则数组x在内存中所占字节数是(C)。 A.4B.8C.10D.12 46.若有定义“inta=5,b=6;”,则表达式“(a=a-b,a+b)”的值是(B) A.10B.5C.11D.-1 47.执行以下两条语句后,字符数组a和b的长度分别为(B)。 chara[]={“happy”}; charb[]={‘h’,’a’,’p’,’p’,’y’}; A.5,5B.6,5C.5,6D.6,6 48.以下不正确的描述为(D)。 A.不同函数中可以使用相同名字的变量 B.形参是局部变量 C.一个函数内部定义的变量只能在本函数范围内有效 D.在一个内部的复合语句中定义的变量可以在本函数范围内有效 49.若有下列定义inta[5],*p=a;,则对a数组元素的正确引用是(C ) A.*(p+5)B.*p+2C.*(a+2)D.*&a[5] 50.以下程序的运行输出结果是D。 func(inta,intb,intc) {c=a*b;} voidmain() {intc; func(2,3,c); printf(“%d\n”,c);} A.0B.1C.6D.无确定值 51.以下描述正确的是(A)。 A.continue语句的作用是终止本层循环的执行 B.break语句的作用是结束本次循环的执行 C.continue语句和break语句都可以在switch语句中使用 D.break语句的作用是使流程跳出当前的循环层,终止本层循环的执行 52.charh,*s=&h;可将字符H通过指针存入变量h中的语句是(B)。 A.*s=H;B.*s=’H’;C.s=H;D.s=’H’; 53.有以下程序 #include voidmain() {charch[3][5]={"AAAA","BBB","CC"); printf("%s\n",ch[1]); } 程序运行后的输出结果是(D) A.AAAAB.CCC.BBBCCD.BBB 54.已知“intb;”,则对指针变量正确的说明和初始化是(B) A.int*pb=b;B.int*pb=&b C.intpb=&bD.intpb=b 55.以下程序的输出结果是D。 voidprtv(int*x){printf(“%d\n”,++*x);} voidmain() {intk=25;prtv(&k): } A.23B.24C.25D.26 56.设有以下程序段 structMP3 {charname[20]; charcolor; floatprice; }std,*ptr; ptr=&std; 若要引用结构体变量std中的color成员,写法错误的是() A.std.colorB.ptr->colorC.(*ptr).colorD.std->color 58.以下程序的输出结果是。 voidmain() {inta[]={2,4,6,8},*p=a,i; for(i=0;i<4;i++){a[i]=*p;p++;} printf(“%d\n”,a[2]);} A.6B.8C.4D.2 59.执行下列的程序段后,输出结果是() inta=5; while(a--); printf("%d",a); A.54321B.4321C.0D.-1 60.以下程序的输出结果是() #include voidmain() {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf("%d\n",s); } A.21B.19C.20D.18 61.在调用函数时,如果实参是基本整型变量,它与对应形参之间的数据传递方式是(D) A.地址传递B.单项值传递 C.传递方式由用户指定D.由实参传给形参,再由形参传给实参 62.在函数内,定义变量时存储类型符可省略的是( C ) A.externB.staticC.autoD.register 63.有以下函数 #include voidfunc(intn) {inti; for(i=0;i<=n;i++)printf(“*”); printf(“#”);} voidmain() {func(3);printf(“? ? ? ? ”);func(4);printf(“\n”);} 程序运行输出结果是( ) A.****#? ? ? ? ***#B.****#? ? ? ? *****# C.**#? ? ? ? *****#D.***#? ? ? ? *****# 64.设有如下说明 typedefstructST {longa;intb;charc[2];}NEW; 则下面叙述中正确的是() A.以上的说明形式非法B.ST是一个结构体类型 C.NEW是一个结构体类型D.NEW是一个结构体变量 65.有以下程序段 typedefstructnode{int data; struct node *next; }*NODE; NODE p; 以下叙述正确的是() A)p是指向structnode结构变量的指针的指针 B)NODE p;语句出错 C)p是指向structnode结构变量的指针 D)p是structnode结构变量 66.执行下列程序片段的结果是() intx=23; do { printf(“%2d”,x--) }while(! x) A.不打印出任何内容B.打印出23 C.打印出321D.陷入死循环 67.执行以下两条语句后,字符数组a和b的长度分别为(B)。 chara[]={“happy”}; charb[]={‘h’,’a’,’p’,’p’,’y’}; A.5,5B.6,5C.5,6D.6,6 68.假定int类型变量占用四个字节,其有定义: intx[10]={0,2,4};,则数组x在内存中占的字节是(C) A.10B.12C.20D.40 69.下面说明不正确的是(B) A.chara[10]=”china”B.chara[10],*p=a;p=”china”; C.char*a;a=”china”;D.chara[10],*p;p=a=”china”; 70.以下只有在使用时才为该类型变量分配存储空间的是(B) A.auto和staticB.auto和register B.register和staticD.extern和register 71.执行下列的程序段后,输出结果是() inta=5; while(a--); printf("%d",a); A.54321B.4321C.0D.-1 72.以下程序中main函数调用了在其前面的fun函数() #include voidmain() { doublea[15],k; k=fun(a); } 则下列选项中错误fun函数的首部是() A.doublefun(doublea[15])B.doublefun(double*a) C.doublefun(doublea[])D.doublefun(doublea) 73.在调用函数时,如果实参是基本整型变量,它与对应形参之间的数据传递方式是(D) A.地址传递B.单项值传递 C.传递方式由用户指定D.由实参传给形参,再由形参传给实参 74.若有int[10]={0,12,3,4,5,6,7,8,9},*p=a;,则输出结果不为5的语句为() A.printf(“%d”*(a+5));B.printf(“%d”,*p[5]); C.printf(“%d”*(p+5));D.printf(“%d”,p[5]); 75.一个C语言程序是由(C)组成的。 A.主程序B.子程序C.函数D.过程 76.下面标识符中,合法的用户标识符为(B)。 A.P#AdB.12aC.charD._int 77.若a、b均为int型变量,且a=100,则关于循环语句 for(b=100;a! =b;++a,++b)printf(“------------“)的正确说法是(C)。 A.循环体只执行一次B.死循环 C.循环体一次也不执行D.输出----------- 78.若x、y、z均为int型变量,则执行下列语句后的z值为()。 x=1;y=2;z=3;z=(x>y)? z: z=(z z: x; A.1B.4C.2D.3 79.在C语言程序中,表达式5%2的结果是(C)。 A.2.5 B.2 C.1D.3 80.变量定义charstr[20];若用str存储一个字符串,则最大串长为(B)。 A.20B.19C.18D.21 81.判断字符串s1与字符串s2相等,应当使用: (C)。 A.if(s1=s2)B.if(strcmp(s1,s2)) C.if(! strcmp(s1,s2))D.if(strcmp(s1,s2)=0) 8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 复习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)