C语言程序设计试卷A卷
c语言程序设计期末试题A(含答案)
c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。
A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。
A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。
A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。
d。
2int。
a=0.double。
b=1.25.char c=’A’;则下面语句中错误的是()。
A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。
A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。
int w。
long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。
A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。
A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf(“%d”,pa)。
C) scanf(“%d”,&pa)。
B) scanf(“%d”,a)。
D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。
C程序设计考试题A
C语言程序设计考试题A注意事项:1. 答题前,请先在试卷和机读卡上对应位置用钢笔准确清楚的填写上本人姓名和学号,机读卡的科目栏里填写年级和专业的简称,并用2B铅笔填涂学号(必须填在前8列,剩最右边的一列不填涂);2. 试卷答案必须用2B铅笔在机读卡上按对应题号准确、清楚涂写,答在试卷上无效;3. 本试卷共74个小题,机读卡上按【1】~【80】的编号顺序涂写。
【1】~【60】每题1分,【61】~【80】每题2分,共100分。
1.在C语言中,要求参加运算的数必须是整数的运算符是【1】(A)/ (B)* (C)%(D)=2.以下不正确的说法是【2】(A)全局变量、静态变量的初值是在编译时指定的(B)静态数值型变量如果没有指定初值,则其初值为0(C)局部变量如果没有指定初值,则其初值不确定(D)函数中的静态变量在函数每次调用时,都会重新赋初值3.已知:int a[ ]={1,2,3,4},x,*pt=&a[1]; 则执行语句“x=(*--pt)++;”之后,变量x的值为【3】(A)1(B)2 (C)3 (D)44.已知:int x,*p=&x; 则下列输入输出x值的函数调用中错误的是【4】(A)scanf(“%d”,&x); (B)scanf(“%d”,p);(C)printf(“%d”,x); (D)printf(“%d”,p);5.在说明一个结构体变量时系统分配给它的存储空间是【5】(A)该结构体中第一个成员所需的存储空间(B)该结构体中最后一个成员所需的存储空间(C)该结构体中占用最大存储空间的成员所需的存储空间(D)该结构体中所有成员所需的存储空间的总和6.C语言中函数返回值的类型是由【6】决定的(A)return语句中的表达式类型(B)调用该函数的主调函数类型(C)调用函数时临时(D)定义函数时所指定的函数类型7.设有数组定义:char array [ ]="China"; 则数组array所占的空间为【7】(A卷)第 1 页共13 页(A)4个字节(B)5个字节(C)6个字节(D)7个字节8.凡在函数中未指定存储类别的变量,其隐含的存储类别为【8】(A)自动(auto)(B)静态(static) (C)外部(extern) (D)寄存器(extern) 9.下列选项中是非法的C语言转义字符的是【9】(A)'\b' (B)'\' (C)'\037' (D)'\xf'10.下面说法正确的是【10】(A)函数定义可以嵌套,但函数调用不能嵌套(B)函数定义不可以嵌套,但函数调用可以嵌套(C)函数定义和调用均不能嵌套(D)函数定义和调用均可以嵌套11.语句“static int i=10;”中,“i=10”的含义是【11】(A)将变量i初始化为10 (B)只说明了一个静态变量(C)与“auto int i=10;”在功能上等价(D)给变量i赋值为1012.下述对C语言字符数组的描述中错误的是【12】(A)字符数组可以存放字符串(B)字符数组中的字符串可以进行整体输入输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)字符数组的下标从0开始13.有以下说明和语句,且0<=i<10,则下面【13】是对数组元素地址的正确表示int a[ ]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(A)&(a+1) (B)a++ (C)&p (D)&p[i]14.若有以下说明和语句,则p2-p1的值为【14】int a[10],*p1,*p2;p1=a; p2=&a[5];(A)5(B)6 (C)10 (D)错误的表达式15.已知:char s[10],*p=s; 则在下列语句中,错误的语句是【15】(A)p=s+5; (B)s=p+5; (C)s[2]=p[4]; (D)p[0]=’a’;16.已知:char s[10]; int i=1; 则在下列引用数组元素的表达式中,错误的表示形式是【16】(A)s[i] (B)*(s+i) (C)*s (D)*((s++)+i)17.已知:char a[5],*p=a; 则正确的赋值语句是【17】(A)a=”abcd”; (B)*a=”abcd”; (C)p=”abcd”;(D)*p=”abcd”;18.设有int i; char c; float f; 以下结果为整数的表达式是【18】(A卷)第 2 页共13 页(A 卷) 第 3 页 共 13 页(A )i+f (B )i*c (C )c+f (D )i+c+f19. 以下使变量i 的运算结果为4的表达式是【19】 (A )int i=0,j=0;(B )int i=1,j=0; (i=3,(j++)+i);j=i=((i=3)*2);(C )int i=1,j=1;(D )int i=1,j=1;(j==1)?(i=1):(i=3);i+=j+=2;20. 设char ch; 以下正确的赋值语句是【20】 (A )ch=’123’;(B )ch=’\xff ’;(C )ch=’\08’;(D )ch=’’\’’;21. 设n=10,i=4,则赋值运算n%=i+1执行后,n 的值为【21】 (A )0(B )3(C )2(D )122. 逗号表达式(a=3*5,a*4),a+15运算后,a 的值为【22】 (A )60(B )30(C )15(D )9023. 若有说明int x,y; 不能实现以下函数关系的程序段是【23】(A )if(x<0) y=-1;(B )if(x>=0) else if(x==0) y=0;if(x>0) y=1; else y=1;else y=0;else y=-1;(C )y=0; (D )y=-1; if(x>=0)if(x!=0) { if(x>0) y=1; } if(x>0) y=1;else y=-1;else y=0;24. 设有说明int s[2]={0,1},*p=s; 则下列错误的C 语句是【24】 (A )s+=1;(B )p+=1;(C )*p++;(D )(*p)++;25. 为了判断两个字符串s1和s2是否相等,应当使用【25】 (A )if(s1=s2)(B )if(s1==s2) (C )if(strcmp(s1,s2)==0)(D )if(strcpy(s1,s2))26. 一个C 程序执行是从【26】(A )第一个函数开始,直到最后一个函数结束 (B )第一个语句开始,直到最后一个语句结束⎪⎩⎪⎨⎧>===<-=)0(1)0(0)0(1x y x y x y(C)从main()函数开始,在main()函数中结束(D)从main()函数开始,直到源文件中的最后一个函数27.下列选项中是C语言提供的合法的数据类型关键字的是【27】(A)string (B)Int (C)integer (D)char28.以下程序段int k=0; while(k=1) k++; while 循环执行的次数是【28】(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次29.在下面的条件语句中(其中s1和s2表示C语言的语句),只有一个在功能上与其它三个语句不等价,它是【29】(A)if(p) s1; else s2; (B)if(p==0) s1; else s2;(C)if(p!=0) s1; else s2; (D)if(p==0) s2; else s1;30.若int k=10; 执行下列程序后,变量k的正确结果是【30】switch(k){case 9: k+=1;case 10: k+=1;case 11: k+=1;default: k+=1;}(A)10 B)11 (C)12 (D)1331.若数组名作实参而指针变量作形参,函数调用实参传给形参的是【31】(A)数组的长度(B)数组第一个元素的值(C)数组所有元素的值(D)数组第一个元素的地址32.以下错误的描述是【32】(A)break语句不能用于循环语句和switch语句外的任何其他语句(B)在switch语句中使用break语句或continue语句的作用相同(C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环(D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环33.f or(表达式1; ; 表达式3)可理解为【33】(A)for(表达式1; 0 ; 表达式3) (B)for(表达式1; 1 ; 表达式3)(C)for(表达式1; 表达式1 ; 表达式3) (D)for(表达式1; 表达式3 ; 表达式3)34.设int k; 则语句for(k=0;k=1;k++); 和语句for(k=0;k==1;k++); 执行的次数分别是【34】(A)无限次和0次(B)0次和无限次(C)都是无限次(D)都是0次(A卷)第 4 页共13 页35.有以下程序段:int n=0,p;do{ scanf(“%d”,&p); n++;} while(p!=12345 && n<3);此处do~while循环的结束条件是【35】(A)p值不等于12345并且n的值小于3(B)p值等于12345并且n的值大于等于3(C)p值不等于12345或者n的值小于3(D)p值等于12345或者n的值大于等于336.下列各程序段中,没有构成死循环的是【36】(A)int i=10; (B)int y=1;while(1) for(; y=10;y++);{ i=i+i%10;if(i==10) break;}(C)int k=100; (D)int s=4;do while(--s){ ++k; s--;} while(k>=100);37.以下四个关于循环语句的结论中,只有一个是错误的,它是【37】(A)可以用while语句实现的循环一定可以用for语句实现(B)可以用for语句实现的循环一定可以用while语句实现(C)可以用while语句实现的循环一定可以用do~while语句实现(D)可以用do~while语句实现的循环一定可以用while语句实现38.已知int j,i=1; 则执行j=-i++; 后,i和j的值为【38】(A)1 -1 (B)1 1 (C)2 -1 (D)2 1 39.以下正确的函数定义是【39】(A)double fun(int x,int y) (B)double fun(int x, y) { z=x+y; return z; } {int z; z=x+y; return z; } (C)fun (x, y) (D)double fun(int x, int y) {int x,y; double z; {double z;z=x+y; return z; } z=x+y; return z; }(A卷)第 5 页共13 页40.若x为整型变量,以下定义指针的正确语句是【40】(A)int p=&x; (B)int p=x; (C)int *p=&x; (D)p=x;41.在C语言中,如果下面的变量都是int类型,则输出的结果是【41】sum=a=5; a=sum++ , a++ , ++a;printf("%d\n",a);(A)5 (B)6 (C)7(D)842.以下正确的说法是【42】(A)实参变量与其对应的形参变量各占用独立的存储单元(B)实参变量与其对应的形参变量共占用一个存储单元(C)只有当实参变量与其对应的形参变量同名时才占用相同的存储单元(D)形参变量是虚拟的,不占用存储单元43.若i为整型变量,则以下循环执行次数是【43】for (i=2; i!=0;) printf("%d", i-- );(A)无限次(B)0次(C)2 次(D)1次44.对以下说明语句的正确理解是【44】int a[10]={1,2,3,4};(A)将4个初值依次赋给a[1]至a[4](B)将4个初值依次赋给a[0]至a[3](C)将4个初值依次赋给a[6]至a[9](D)因为数组长度与初值个数不一致,所以此语句不正确45.已知:char str1[20], str2[10]=”books”; 则在程序中能够将字符串“books”赋给数组str1的正确语句是【45】(A)str1=”books”; (B)strcpy(str1,str2);(C)str1=str2; (D)strcpy(str2,str1);46.以下不正确的说法是【46】(A)在不同函数中可以使用相同名字的变量(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有定义(D)在函数内的复合语句中定义的变量在本函数范围内有定义47.已知一个函数的定义如下:double fun(int x, double y){ ……}则该函数正确的函数原型声明为【47】(A卷)第 6 页共13 页(A 卷) 第 7 页 共 13 页(A )double fun(int x; double y) ; (B )fun(int x,double y); (C )double fun(int, double);(D )fun(x,y);48. 若已定义:int a[10],*p=a; 并在以后的语句中未改变p 的值,不能表示a[1] 地址的表达式是【48】 (A )p+1(B )a+1(C )a++(D )++p49. 要在C 中求)30sin( 的值,则可以调用库函数,格式为【49】 (A )sin(3.14159/6) (B )sin(30) (C )sin(double(30))(D )sin(30.0)50. 在一个源文件中定义的外部变量的作用域【50】 (A )本文件的全部范围(B )本程序的全部范围(C )从定义该变量的位置开始至本文件结束 (D )本函数的全部范围 51. 已知函数fun 的定义为:void f(){ …… }则函数定义中void 的含义是【51】 (A )执行函数f 后,函数没有返回值 (B )执行函数f 后,函数不再返回(C )执行函数f 后,可以返回任意类型的返回值 (D )执行函数f 后,函数返回void 类型的值52. 若有定义:int a[10]; 则对数组a 中元素的正确引用是【52】 (A )a[10](B )a[4.8](C )a(5)(D )*(a+2)53. 以下不正确的定义语句是【53】 (A )double x[5]={2.0,4.0,6.0,8.0,10.0}; (B )int y[5]={0,1,3,5,7,9}; (C )char c1[ ]={‘1’,’2’,’3’,’4’,’5’};(D )char c2[ ]={‘\x10’,’\xa ’,’\x8’};54. 有两个字符数组a,b ,则以下正确的输入语句是【54】 (A )gets(a,b);(B )scanf(“%s,%s ”,a,b); (C )scanf(“%s,%s ”,&a,&b);(D )gets(&a); gets(&b);55. 已知:char *str1=”abcde ”, *str2=”xyz ”; 则执行语句:printf(“%d ”,strlen(strcpy(str1,str2)));输出结果是【55】(A )9(B )3(C )5(D )856. 调用strlen(“abcd\0ef\0g ”)的返回值为【56】 (A )4(B )5(C )8(D )957. 在C 语言中进行乘方运算,例如求a 的3次方,可以使用【57】(A)a^3 (B)a**3 (C)pow(a,3)(D)power(a,3)58.以下对一维整型数组a的正确说明是【58】(A)int a(10); (B)int n=10,a[n]; (C)int n; (D)#define SIZE 10scanf(“%d”,&n);int a[SIZE];int a[n];59.已知:int i=0,j=1,*p=&i,*q=&j; 其中错误的语句是【59】(A)i=*&j; (B)p=&*&i; (C)j=*p++; (D)i=*&q;60.以下关于结构体与共用体的说法,其中正确的是【60】(A)共用体每个成员分别占有自己的内存单元(B)结构体变量所占的内存长度等于最长的成员的长度,共用体变量所占内存长度是各成员占的内存长度之和(C)共用体同一个内存段可以存放几种不同类型的成员,但在某一时刻只能存放一个成员(D)结构体类型可以出现在共用体类型的定义中,但共用体不能出现在结构体类型定义之中61.以下程序的作用是将给出的字符按其格式读入数组ss中,然后输出行列号之和为3的数组元素。
《C语言程序设计基础》--试卷A及参考答案
《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
C语言程序设计(A卷)
第 1 页 共 5 页一、单选题(每小题1分,共30 分)1. 若变量已正确定义,要求完成求6!的计算,不能完成操作的程序段是 。
A )for(i=1;i<=6;i++) {p=1;p*=i;}B )for(i=1,p=1;i<=6;i++) p*=i;C )i=1;p=1;while(i<=6) {p*=i;i++;}D )i=1;p=1;do {p*=i;i++;} while(i<=6);2. 以下程序的输出结果是 。
main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c++; else c++; else c--; printf("%d",c);}A )1B )4C )2D )3 3. 以下程序的输出结果是 。
main(){int x=0,a=0,b=0; switch(x) {case 0:b++; case 1:a++;break; case 2:a++;b++;}printf("a=%d,b=%d",a,b); }A )a=2,b=1B )a=1,b=1C )a=1,b=0D )a=2,b=2 4. 以下程序的输出结果是 。
main(){ int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }A )10 1 9 2B )9 8 7 6C )10 10 9 1D )10 9 9 0 5. 以下程序的输出结果是 。
main(){int s=0,i,x[][3]={1,2,3,4,5,6,7,8}; for(i=0;i<3;i++) s=s+x[i][2-i]; printf("%d",s); }A )6B )15C )36D )0 6.下面程序段执行后,a 的值是______。
《C语言程序设计》(3学分)试卷A
说明:请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。
试卷中C语言程序的开发环境是VC6。
一、选择题(共20小题,每小题2分,共40分)1.以下正确的C语言自定义标识符是______。
A)_1aB)2a_C)doD)a.122.温度华氏和摄氏的关系是:C= 达式是____。
59(F-32)。
已知:floatC,F;由华氏求摄氏的正确计算的表A)C=5/9(F-32)B)C=5*(F-32)/9C)C=5/9*(F-32)D)三个表达式都正确3.设floatx,由键盘输入:12.45,能正确读入数据的输入语句是_________。
A)scanf("%5.2f",&x)B)scanf("%d",&x);C)scanf("%f",&x);D)scanf("%f",x);4.一个C程序的执行是从()A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束5.判断char型变量c1是否为数字的正确表达式为________。
A)0<=c1<=9B)c1>=0&&c1<=9C),0?<=c1<=?9?D)c1>='0'&&c1<='9'6.switch(表达式)语句中的“表达式”,允许的类型是_________。
A)float,intB)float,int,charC)int,charD)char,double7.设inti,j,x=0;for(i=5;i;i--)for(j=0;j<4;j++)x++;则循环体结束后,x的值为________。
A)5B)20C)25D)死循环8.设x和y均为int型变量,则执行下面的循环后,y值为_________。
C语言程序设计试卷(含答案)
.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
一学期《C程序设计》试卷A(级)含答案
16.阅读以下程序
#include <stdio.h>
voidmain()
{intcase。float printF。
printf(“请输入2个数:”)。
scanf(“%d%f”, &case, &printF)。
printf(“%d %f”, case, printF)。
C) struct student{ char name[20]。char sex。int age。} s1。
D) struct { char name[20]。char sex。int age。} s1。
15.设有定义:char *p。以下选项中能够使字符型指针p正确指向一个字符串的是:【 】
A) char str[]=”China”。p=str[0]。B) scanf(“%s”, p)。
19.以下数组定义中错误的是【 】
A)int x[][3]={0};
B)int x[2][3]={{l,2},{3,4},{5,6}};
C)int x[][3]={{l,2,3},{4,5,6}};
D)int x[2][3]={l,2,3,4,5,6};
20.定义数组int a[10],若整型类型变量长度是2个字节,数组a的首地址是0,则&a[5]的值是:【 】
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
12.在C语言中,函数返回值的类型最终取决于【 】
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型
C语言程序设计A模拟考核试题及解答
C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。
A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。
A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。
A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。
A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。
A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。
A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。
C语言期末试卷及答案A
XX 学院试卷《C语言程序设计试卷》试卷(A卷)一、填空题(每题2分,共10×2=20分)1、除机器语言之外的其他语言要被机器识别,必须经过翻译的过程,翻译有编译和解释两种,C语言所采用的是翻译方式。
2、C语言是函数驱动的,组成C语言程序的基本单位是。
3、C语言的入口函数是函数,且程序亦结束于该函数。
(填写英文)4、在函数体中,一条C语言语句均以结尾。
(填写符号)5、C程序的调试过程包括:→→→四个步骤。
6、基本数据类型包括:整数类型、浮点类型、和枚举类型。
7、浮点型包括单精度型和。
8、变量命名时,在能取得符号中,不能以开头。
9、63%10= 。
10、有数组定义如:int x[10];则数组的第三个元素应表示为。
二、单选题(每小题1分,多选,错选都不得分;共15×1=15分)1、C语言中主函数的个数是( )A、1个B、2个C、6个D、任意多个2、以下不属于C语言基本数据类型的是( )。
A、字符型B、浮点型C、整型D、空类型3、下面关于字符常量和字符串常量的叙述中错误的是( )。
A、字符常量由单引号括起来,字符串常量用双引号括起来B、字符常量只能是单个字符,而字符串常量则可以包含一个或多个字符C、字符常量占用一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数D、可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋予一个字符变量4、设有变量说明:float x=4.0,y=4.0;。
下面使x为10.0的表达式是( )。
A、x -=y*2.5B、x/=y+9C、x*=y-6D、x+=y+25、下列程序段的输出结果是( )。
char c1,c2;c1=65;c2=65+32+1;printf(“%c,%c”,c1,c2);A、a,BB、A,BC、A,bD、a,b6、以下运算符为单目运算符的是( )。
A、!B、&&C、%D、?:7、以下哪项不属于结构化程序设计方法的特点( )。
C语言程序设计期末考试卷A答案
C语言程序设计期末考试卷A答案北京信息科技大学2022~2022学年第一学期《C语言程序设计》课程期末考试试卷(A卷)授课系别:_计算机学院_适用班级:_计科所有班级_考试形式:_闭卷_班级:姓名:学号:题号得分一二三四五六七总分一:填空题:(每题2分,共10题)1、结构化程序设计的基本结构有三种,分别是顺序结构、选择结构和循环结构。
2、有如下程序:voidmain(){intk=1,n=263;do{k某=n;n/=10;}while(n);printf(\}则k值为____36______。
3、有如下程序chara[]=\的值为____6_____。
4、函数直接或间接的调用自己成为函数的________递归调用__________。
5、有如下定义:taticinta[6]={1,2,3,4,5,6};int某p=a+1;p++;则某(p+1)的值为____4______。
6、有以下程序:#defineA4#defineB(某)A某某/2voidmain(){floatc,a=4.5;c=B(a);printf(\}则c的值为___9.0_____。
7、C语言的变量值存在时间角度来分,可以分为__动态__存储方式和___静态__存储方式。
8、C语言可以定义枚举类型,其关键字为enum9、写出下面程序的运算结果。
tructk{inta;}[4],某p;voidmain(){intn=1,i;for(i=0;i<4;i++){[i].a=n;n=n+2;}p=&[0];p++;printf(\}p->a的值为__________3__________。
10、C语言打开文件的函数是_____fopen_______,关闭文件的函数是______fcloe_______。
二单项选择题:(每题2分,共12题)1:以下程序片段_____D______。
voidmain(){int某=0,y=0,z=0;if(某=y+z)printf(\eleprintf(\}A)有语法错误,不能通过编译B)输出:某某某C)可以编译,但不能通过连接,所以不能运行D)输出:###2:若w=1,某=2,y=3,z=4,则条件表达式w>某w:yvoidmain(){int某=-1,y=4,k;k=(某++<=0)&&!(y--<=0);printf(\}A)0,0,3B)0,1,2C)1,0,3D)1,1,24:以下不是死循环的程序段是DA)inti=100;B)for(;;);while(1){i=i0+1;if(i>100)break;}C)intk=0;D)int=36;do{++k;}while(k>=0);while();--;5:下列程序运行结果为:_____C______。
C语言程序设计(A卷)
**学院2019—2020学年度第一学期期末考核试卷课程名称: C 语言程序设计 考核类型: 考查 考核形式: 闭卷学生所在院系: 班 级: 试 卷: A1.未指定存储类别的变量,其隐含的存储类别为( )。
A. autoB. staticC. externD. register 2. 以下选项中不合法的变量名称是( )。
A .abB .fileC .mainD .printf 3. 下面合法的C 语言字符常量是( )。
A. '\t'B. "A"C. 65D. A 4. 字符(char)型数据在微机内存中的存储形式是( )。
A . 反码B . 补码C . EBCDIC 码D . ASCII 码 5. 下列字符数组初始化语句中,不正确的是( )。
A .char c[]='goodmorning';B .char e[20]="goodmorning":C .char c[]={'a','b','c','d'};D .char c[]={"ffgoodmorning"}; 6. 表达式: 10!=9的值是 ( )。
A. trueB. 非零值C. 0D. 1 7. 在下列选项中,不正确的赋值语句是 ( )。
A. ++t;B. n1=(n2=(n3=0));C. k=i=j;D. a=b+c=1; 8. 为表示关系x ≥y ≥z,应使用C 语言表达式( )。
A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=z) C. (x>=y>=z) D. (x>=y) & (y>=z)一、选择题………………………………(每小题2分,共30分)9.下面程序的输出的是()。
#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A. 0B. 1C. 3D. 不确定的值10.执行下面程序中的输出语句后,输出结果是()。
c语言程序设计期末考试试卷(A)
4、表达式18/4*sqrt(4.0)/8值的数据类型为。
A)、int B)、float C)、double D)、不确定
5、若有以下定义,则能使值为3的表达式是D。
Int k=7,X=12;
A、X%=(k%=5)B、X%=(k-k%5)
C、X%=k-k%5 D、(X%=k)-(k%=5)
t=((t=(a<b)?a:b)<c)? t:c;
s=a+b+c-u-t; a=u;
b=s; c=t; return s;
}
运行时输入: 5 –7 3,输出结果:
4、#include <stdio.h>
#include<stdlib.h>
#defineNEW(struct info *)malloc(sizeof(struct info))
三、程序阅读题(每题5分共30分)
1.#include <stdio.h>
void main( )
{ int k=0;
char c='A';
do {
switch (c++)
{ case 'A': k++; break;
case 'B': k--;
case 'C': k+=2; break;
case 'D': k=k%2; break;
B、aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D、aa数组的两个元素中各自存放了字符'a'和'A'的地址
样卷A《C语言程序设计》
C语言程序设计样卷A一、单选题(每小题2分,共40分)1.下面程序的输出是(B)。
main( ){ int x = 023;printf( "%d\n",--x);}A.17B.18C.23D.242.在C语言中,设int型变量占2个字节,则不正确的int类型常数是(A)。
A.62768B.12C.037D.0xa3.当a=1,b=2,c=3时,执行以下语句后a,b,c的值分别是(D )。
if(a>c)b=a;a=c;c=b;A.3,2,1B.1,2,3C.3,1,1D.3,2,24.以下叙述中正确的是(B)。
A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套5.以下叙述中不正确的是(B)。
A.在函数中,通过return语句获得返回值B.在函数中,如果没有return语句则不带回返回值C.在函数中,可以有多条return语句D.在C中,调用函数不必在一条独立的语句中完成6.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(C)。
A.p+1B.a+1C.a++D.++p7.下面程序的输出是( A )。
main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A.3B.4C.1D.28.执行下面程序中的输出语句后,a的值是(C)。
main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}A.65B.20C.15D.109.下面程序的输出是(C)。
main ( ){ int a = - 1, b = 4, k;k = (a++ <=0)&&(! (b-- <= 0));printf("%d %d %d \n",k,a,b);}A.0 0 3B.0 1 2C.1 0 3D.1 1 210.以下程序的输出结果是(A)。
大学C语言《程序设计语言》期末试卷a
if (x=y) printf(" x is equal to y."); A)语法错 C)编译出错
B)不能判断 x 和 y 是否相等 D)能判断 x 和 y 是否相等
18.在C语言中,存储类型为________的变量只在使用它们时才占用存储空间。
A)static 和 auto
B)register 和 auto
s=x+y;
return s;
}
A)字符型
B)不确定
C)10 9 8
C)整型
D)9 8 7
D)实型
10. 若有定义“int b[4]; ”则以下各项中对 b 数组元素的引用正确的是_______。
A)*&b[5]
B)b+2
C)*(*(b+2)) D)*(b+2)
11. 下面程序段的运行结果是 char str[ ]= "ABCD",*p=str; printf("%d\n",*(p+4));
for(i=2;i<5;i++)
第 5页 共7页
f[i]=f[i2]+f[i1];
for(i=0;i<5;i++)
printf("%d",f[i]);
}
10.如下程序该程序的输出结果是
.
main() { int x; for(x=1; x<=10; x++) { if(x= =5)
break; printf(“%d”,x); } }
#include<stdio.h>
void main( )
{
int a[ ]={0,1,2,3,4,5,6},*p,i;
C语言程序设计A卷(答案)
贵州大学2010-2011学年第二学期考试试卷A(答案)C语言程序设计注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。
4.满分100分,考试时间为120分钟。
一.单项选择题(本大题共20小题,每小题1分,共20分)1.以下描述中不属于C语言特点的是(B )。
A.预算符丰富B.不允许直接访问物理地址C.语法限制不太严格D.是完全模块化和结构化语言2.在C语言中,回车符是(A )。
A.\n B.\t C.\f D.\b3.下列类型不属于基本类型的是(B )。
A.整形B.指针类型C.浮点型D.空类型4.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C )。
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任意字符5.下列数据中,不合法的C语言实型数据的是(C )。
A.0.123 B.123e3 C.2.1e3.5 D.789.0 6.下列二进制数据中,-10的补码是( D )。
A.1111111111111001 B.1111111111111100 C.1111111111111010 D.11111111111101107.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B )。
A.a:=b+1 B.a=b=c+2 C.int 18.5 D.a=c+7=c + b 8.以下说法不正确的是(B )。
A.实参可以是常量、变量、表达式B.形参可以是常量、变量、表达式C.实参可以为任意类型D.形参应与对应的实参一致9.下面的运算符中,优先级最高的运算符是( C )。
A.<= B.= C.% D.&&10.初始化i=2,表达式(++i)*3+(i++)的值等于(B )A.11 B.12 C.13 D.1411.以下对二维数组a的正确说明是(C )。
C语言程序设计_A卷
第 4 页 共8 页
线
订
装
4、以下程序功能是:通过定义学生结构体变量,存储了学生的学号、姓名和 3 门课的成绩。函数 fun 的功能是将形参 a 所指的结构体变量中的数据赋给函数 中的结构体变量 b,并修改 b 中的学号和姓名,最后输出修改后的数据。例如: a 所指变量中的学号、姓名、和三门课的成绩依次为:10001、 “ZhangSan” 、 95、80、88,则修改后输出 b 中的数据应为:10002、 “LiSi” 、95、80、88。 #include <stdio.h> #include <string.h> struct student { long sno; char name[10]; float score[3]; }; void fun(struct student *p) { int i; p->sno = 10002; strcpy(p->name, "LiSi"); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",p->sno, p->name); for (i=0; i<3; i++) printf("%6.2f ", (9) ); printf("\n"); } void main() { struct student s={10001,"ZhangSan", 95, 80, 88};…. int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",s.sno, ); for (i=0; i<3; i++) printf("%6.2f ", (10 ) ); printf("\n"); ( 11) ; }
C语言程序设计考试卷A卷
《C 语言程序设计》第 1 页 共 5 页 C 语言程序设计考试卷A 卷 复查人 一、单项选择题(每题2分,共50分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的下划线“ ”上。
1.以下合法的用户标识符是 A )Aa B )#define C )3a D )for 2.以下选项中,可以作为C 语言合法常量的 A) -78. B) -078 C) -7e8.0 D) -7.8e 3.在C 语言中,字符型数据在内存中存放的形式为 A)BCD 码 B)原码 C)补码 D)ASCII 码 4.以下选项中正确的整型常量是 A)12. B)-20 C)1,000 D)4 5 6 5.C 语言中运算对象必需是整型的运算符是 A)% B)/ C)! D)** 6.若变量已正确定义并赋值,符合C 语言语法的表达式是 A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 7.以下说法不正确的是 A)C 程序中必须有一个main()函数,C 程序是从mian()函数的第1条语句开始执行的 B)非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的 C)C 程序中的main()函数必须放在程序的开始位置 D)C 程序中的main()函数位置可以任意指定 8.TURBO C 中int 类型变量所占字节数是是 A)1 B)2 C)3 D)4 9.不合法的八进制是 A)0 B)028 C)077 D)01 10.下面程序的输出结果是 A)0 B)1 C)3 D)不确定的值 main() { int x=10,y=3; printf(“%d\n ”,y=x/y); } 11.下面程序的输出结果是 A) 0 B) 1 C)2 D)3 main() { int w=4,x=3,y=2,z=1; printf("%d\n",(w<x?w:z<y?z:x)); } 12.以下程序的输出结果是 A)11 B)20 C)21 D)31 func(int a,int b) { int c; c=a+b; return c; } main() { int x=6,y7,z=8,r; r=func(x--,y++,x+y),z--); printf("%d\n",r); } 13.以下程序的输出结果是 A)3 B)4 C)5 D)6 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) {a+=5;continue;} a-=3; } printf("%d\n",b); }专业班级: 姓名: 学号: …………………………密………………………………封………………………………线…………………………。
C语言程序设计期末试题A及答案
C语言程序设计期末试题A及答案C语言程序设计教程期末考试试卷(A卷)(考试时间90分钟,满分100分)一、选择题(本大题共20题,每题2 分,共40分)下面各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。
1. 以下不是C语言的特点的是( )A. C语言简洁、紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是( )A. ABCB. abcC. a_bcD. ab.c3. 一个C语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4. 一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A. intB. floatC. doubleD. 不确定6. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B.反码C.源码D.ASCII码7. 有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。
#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 45D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是( )A. a=1,b=2B. b++;C. a=b=5D. b=int(x);9. 以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,8911. 下列运算符中优先级最高的是( )A. <B. 十C. %D. !=12. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D.在C程序中,main函数必须位于程序的最前面
2.若x为char型变量,y为int型变量,x,y均有值,正确的输出函数是(2)。
(2)A.printf("%c%c",x,y);B.printf("%c%s",x,y);
C.printf("%f%c",x,y);D.printf("%f%d",x,y);
(16)A.EOF B.0 C.NULL D.非零值
17.若有以下说明语句:
struct stu
{ int a;
float b;
}Datatype;
则下面的叙述不正确的是(17)。
(17)A.a和b都是结构体成员名B.struct stu是用户定义的结构体类型
C.struct是结构体类型的关键字D.Datatype是用户定义的结构体类型名
if(j>=i)
{printf("%6d",i);
count++; }
}
}
2.以下程序的功能是:计算1!+2!+3!+…+50!的值。
#include <stdio.h>
double fact(int n);
intmain(void)
{int i;
double sum;
sum=0;
for(i=1;i<=50;i++)
{ printf("%f\n",score[i]);
(33);
}
printf("%d not pass\n",count);
}
4.下面程序的功能是:主函数调用了Max函数,实现在N行M列的二维数组中,找出所有元素中的最大值。
#include <stdio.h>
#define N 3
#define M4
printf("%d",(37));
}
四、程序设计题(每题10分,共20分)
1.编写程序,统计文本文件“file.txt”中所包含的字母、数字和空白字符的个数。
部分文件相关的函数原型如下:
FILE *fopen(char *filename,char *type);
Int fgetc(FILE *stream);该函数调用示例:ch=fgetc(fp)。
int Max(intx[N][M])
{ int i,j,p;
p=(34);
for (i=0;i<N;i++)
for (j=0;j<M;j++)
if(x[i][j]>p)(35);
return(36);
}
void main()
{
intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
(14)A.任何类型的表达式B.整型常量
C.整型表达式D.整型常量或整型表达式
15.若int (*p)[5];,其中p是(15)。
(15)A.5个指向整型变量的指针
B.指向5个整型变量的函数指针
C.一个指向具有5个整型元素的一维数组的指针
D.具有5个指针元素的一维指针数组,每个元素都只能指向整型量
16.若fp是指向某文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值是(16)。
int myfun(double a,int n)
{ return (a+n);
}
(10)A.voidB.intC.floatD.double
11.设变量a,b,c,d和y都已正确定义并赋值,若有以下if语句:
if (a<b)
if(c= =d) y=0;
else y=1;
该语句所表示的含义是(11)。
2.设数列中的数从键盘输入,编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否则输出“no found”。
for (i=1;i<3;i++)
{a[i]=a[i-1]+a[i];
a[i+1]=1;
for (j=0;j<=i+1;j++)
printf("%d",a[j]);
printf("\n");
}
}
2.下面程序运行后,输出的结果是(22)。
#include <stdio.h>
void main()
{
int i,j,k;
sum=sum+(27);
printf("1!+2!+3!+…+50!=%e\n",sum);
return 0;
}
/*定义求n!的函数*/
double fact(int n)
{ int i;
double result;
(28);
for(i=1;i<=n;i++)
result=result*(29);
(8)A.把x和y按从小到大排序B.把x和y按从大到小排序
C.无确定结果D.交换x和y中的值
9.若有定义:intx,y;,则以下for循环的执行次数是(9)。
for(x=0,y=0;(y=123) && (x<4);x++);
(9)A.无限次B.4次C.3次D.0次
10.若有以下函数定义,此函数值的数据类型是(10)。
#include <stdio.h>
void main()
{
int i=11,j,(24);
for (;i<=100;i+=2)
{for ((25);j<=i-1;j++)
if((26))/*i不是素数*/
break;
if(count%10==0)printf("\n");/*每输出10个数换一行*/
18.若有定义:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为6的表达式是(18)。
(18)A.*p+6B.*(p+6)C.p+5D.*p+=5
19.以下程序的输出结果是(19)。
#include<stdio.h>
#define s(a,b) (a*b)
int main(void)
scanf("%f",&x);
(30);
sum=0.0;
while (x>0&&n<200)
{ sum+=x;
score[n++]=x;
scanf("%f",&x);
}
(31);
printf("average= %f\n",ave);
for (count=0,i=0;i<n;i++)
if ((32))
(543,y=0;char ch='A';,则表达式(x>=y && ch<'B'&& !y)的值为(6)。
(6)A.0B.1C.falseD.非零值
7.下面正确的字符串常量是(7)。
(7)A."c"B.'w'C.'hello'D.'\x41'
8.设有定义:int x,y;,以下语句:x+=y;y=x-y;x-=y;,的功能是(8)。
(20)A.a[0][1]B.a[1][0]C.a[1][1]D.a[1][2]
二、程序阅读题(每题4分,共12分)
1.下面程序运行后,输出的结果是(21)。
#include <stdio.h>
void main()
{
inti,j,a[5]={1,1};
printf("%d%d\n",a[0],a[1]);
3.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(3)。
(3)A.x=y= =5;B.x=n%2.5;C.x+n=i;D.x=5=4+1;
4.若函数中有定义语句:int i;,则(4)。
(4)A.系统将自动给i赋初值0 B.系统将自动给i赋初值1
C.此时i中无任何值D.此时i中值无意义
5.若有定义:int a,b;,则表达式(a=2,b=5,b++,a+b)的值为(5)。
for (i=1;i<=4;i++)
{
for (j=1;j<=(4-i);j++)
printf(" ");
for (k=1;k<=i;k++)
printf("*");
printf("\n");
}
}
3.下面程序运行后,输出的结果是(23)。
int f(int a)
{ int b=0;
static int c=3;
getch();
}
(12)A.1022B.922C.7 22D.8 22
13.以下不正确的说法是(13)。
(13)A.函数未被调用时,系统不会为形参分配内存单元
B.实参和形参的个数应相等,且实参与形参的类型必须一致
C.当形参为变量时,实参可以是常量、变量或表达式
D.形参可以是常量、变量或表达式
14.在C语言中,引用数组元素时,其数组下标的数据类型允许是(14)。