C语言程序设计模拟题(含答案)

合集下载

C语言程序设计模拟试题B(附答案)

C语言程序设计模拟试题B(附答案)

《C语言程序设计》模拟试卷十二一、填空题.(每题2分,共20分)1.C语句必须以号结束2.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是。

3.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是.4.设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。

scanf(“%d, " );printf(“%d\n”, .);5.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 .6.有以下程序段int k=0while(k=1)k++;while 循环执行的次数是。

7.表达式a = 1,a + 1,a + + 的值是___________________。

8.设char string[]=″This_is_a_book!″;则数组的长度应是________________。

9.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。

10.设有如下变量说明语句int a[8]={44,55,12,42,94,18,6,67},*p=a;则通过指针变量p引用值为18的表达式是____ ____。

11.执行下述程序#include <stdio.h〉int strlength(char a[],char b[]){int num=0,n=0;while (*(a+num)!='\0')num++;while (b[n]){*(a+num)=b[n];num++;n++;}return (num);}main(){char strl[81],str2[81],*p1=str1,*p2=str2;gets(p1);gets(p2);printf("%d\n”,strlength(p1,p2));}若从键盘输入qwertyabcd则输出结果是____ ___.二、单项选择题。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A )A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 (B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;{ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

长安大学网络教育《C语言程序设计》模拟试卷及参考答案

长安大学网络教育《C语言程序设计》模拟试卷及参考答案

一、填空题(本题每空1分,共计15分)1.设int a = 2,b = 3;float x = 3.5,y =2.5;表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。

2.结构化程序设计的三种基本结构是顺序结构,选择结构,循环结构。

3.设a = 3 , b = 2 , c = 1 , 则!(a+b)+c-6&&c+b%2的值为 1 。

4.int a = 6 ; 若a *= 2+3,则a = 30 ;又若a /= a+a,则a = 0 ;又若a+=a-= a*=a,则a = 0 ;5.int a = 2 ,b ,c ; b = ++a ; c = (a++)+(b++) ; 则c = 6 ,a = 4 ,b = 46、判断char型变量ch是否为大写字母的正确表达式是:ch>=’A’&&ch<=’z’7、若a=1;b= 2;c=2; if(a<b<c) {t= a;a=b; b=t; c--;}则a= 2 ,b= 1 ,c= 1 ,二、选择题(本题有15个小题,每小题2分,共计30分,每题只有一个正确答案)1、C程序的执行是从(A)A)本程序的main函数开始,到main函数结束B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C)本程序的main函数开始,到本程序文件的最后-个函数结束D)本程序文件的第-个函数开始,到本程序main函数结束2、若有说明:char *language[]={"FORTRAN","BASIC","PASCAL", "JA V A","C"};则以下不正确的叙述是(D)。

A)language+2表示字符串"PASCAL"的首地址B)*language[2」的值是字母PC)language是一个字符型指针数组,它包含5个元素,D)每个元素都是一个指向字符串变量的指针3、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(B):A)7 B)8 C)6 D)24、下面四个选项中,均是不合法的用户标识符的选项是(C)A) A P_0 doB)float a0 _AC)b-a goto intD)-123 temp INT5、sizeof(float)是(B):A)一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式6、设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为(D):A)float B)char C)int D)double7、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是(B): main(){int x; float y; printf("enter x,y:")输入语句输出语句}输入形式enter x,y: 2 3.4输出形式x+y=5.40A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);8、根据下面的走义,能打印出字母M的语句是(D)struct person{char name[9];int age;}struct person class[10]={"John",17,"Paul",19,"Mary",18,"adam",16 };A)printf("%c\n",class[3].name);B)printf("%c\n",class[3].name[1]);C)printf("%c\n",class[2].name[1]);D)printf("%c\n",class[2].name[0]);9、若有以下定义和语句:struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...}则以下不正确的引用是(D)。

C语言程序设计模拟试卷(2)

C语言程序设计模拟试卷(2)

C语⾔程序设计模拟试卷(2)模拟试卷⼀⼀、选择题(每题1分,共15分) 在每⼩题列出的四个选项中只有⼀个是符合题⽬要求的,请在正确答案前点选,错选或未选均不得分。

1. 以下选项中不合法的⽤户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语⾔中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下⾯表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((xC. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执⾏语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10正确答案A. 10B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执⾏次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输⼊语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输⼊是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执⾏以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环⼀次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案A. double fun(int x ,int y)B. double fun(int x ;int y)C. double fun(int x ,int y) ;D. double fun(int x ,y) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不⼀致,函数调⽤产⽣错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第⼀个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"⼆、填空题(共10题)1. 字符串存储时,末尾被系统⾃动加上字符。

C语言程序设计模拟题

C语言程序设计模拟题

C语言程序设计模拟题1.由C语言编写的代码程序()。

A.可直接执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行【答案】B。

解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。

2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。

A.大写字母B.中划线C.数字字符D.下划线【答案】B。

解析:C语言的自定义标识符只能有字母、数字、下划线。

3.下列选项中,不能用作标识符的是()。

A._1234_B._1_2C.int_2_D.2_int_【答案】D。

解析:标识符只能以字母或下划线开头。

4.以下选项中合法的用户标识符是()。

A.longB._2TestC.3DmaxD.A.dat【答案】B。

解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。

5.以下不能定义为用户标识符的是()。

A.MainB._0C._intD.sizeof【答案】D。

解析:sizeof为关键字,不能用作用户标识符。

6.下列定义变量的语句错误的是()。

A.int _int;B.double int_;C.char For;D.float US$;【答案】D。

解析:标识符只能有字母、数字、下划线。

7.在C语言中,合法的实型常数是()。

A.5E2.0B.E-3C.2E0D.1.3E【答案】C。

解析:实型常量e的前面要有数,e的后面为整数。

8.在C语言中,合法的实型常数是()。

A.1.2E0.5B.3.14159EC.5E-3D.E15【答案】C。

解析:实型常量e的前面要有数,e的后面为整数。

9.以下选项中,不能作为合法常量的是()。

A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0【答案】B。

解析:实型常量e的前面要有数,e的后面为整数。

10.以下不合法的数值常量是()。

A.011B.1e1C.8.0E0.5D.0xab【答案】C。

C语言程序设计模拟考试试卷及答案(一)

C语言程序设计模拟考试试卷及答案(一)

C语言程序设计模拟考试试卷及答案(一)一、单项选择题1.一个C程序的执行是从( )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;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)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C ”};则表达式*language[1]>*language[2]比较的是()。

C语言程序设计模拟试题1(附答案)

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。

A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。

A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。

A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。

A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。

A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。

main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
page 1
har j[8]; float k; }u; 则 sizeof(u)的值是。 35.设 int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8} };则表达式 a[1][2]+a[2][3]的值是 。 三、程序分析题(本题共 5 小题,每小题 2 分,共 10 分) 36.写出下面程序的运行结果。 #include void main() { int x =15; while(x<20) { x++; if(x/3!=0) {x++;break;} else continue; } printf("% d\n",x); } 37. 写出下面程序的运行结果。 #include fun(int a[], int i,int j ) { int t; if (i<j) {t=a[i];a[i]=a[j];a[j]=t; i++;j--; fun(a,i,j); } } voi d main() { int x[]={2,4,6},i; fun(x,0,2); for(i=0;i<3;i++) printf("%2d",x[ i]); printf("\n",x); } 6 4 2 38. 写出下面程序的运行结果。 (程序运行时,输入一个整数 5) #include void main() { int a,b[10],c,i=0; printf("输入一个整数\n"); scanf("%d",&a); while(a!=0) { c=a%2; a=a/2; b[i]=c; i++; } for(;i>0;i--) printf("%d", b[i-1]); } 39. 写出下面程序的运行结果。 #include void main() { int a,b,i; a=b=0; for (i=0;i<=10;i+=2) { a+=i; b+=i+1; } printf("a=%d\n",a); printf("b=%d\n", b- 11); } 40. 写出下面程序的运行结果。 #include int a=100; s() { static int a =20; a++; printf("%d\n",a); } void main() { int i; for(i=1;i<=3;i++) { a ++; printf("%d",a); s(); } } 四、程序填充题(本题共 2 小题,每个空格 2 分, 共 10 分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。 41. 对含 有 10 个元素的数组 a 先按元素的存储次序倒序输入,再按其正序输出。 #include #define __N 10 10 /* 空格 1 */ N void main() { int i,a[N]; for(i=N-1; __N>=0;i--) /* 空格 2 */ _N>=0_ scanf("%d",__&a【i】); /* 空格 3 */ _ for( i=0;i<N;i++) printf("%d\t",a[i]); printf("\n"); } 42.学生成绩的字每等级和分 数范围如下: 字母等级 分数范圈 A 90 ̄100 B 80 ̄89 C 70 ̄79 D 60 ̄69 E 0 ̄59 其它 字母 输入错误 输入字母等级之后,输出相应的分数范围。 #include void main() { _char score; /* 空格 4 */ char score_ scanf("%c",&score); switch(score) { case 'A': printf("A:90 ̄100\n"); break;; case 'B': printf("B:80 ̄89\n");b reak; case 'C': printf("C:70 ̄79\n");break; case 'D': printf("D:60 ̄69\n");b reak; case 'E': printf("E:0 ̄59\n");break; __default: printf("输入错误\n"); default__ __default__ } } /* 空格 5 */ 五、程序修改题(本题共 2 小题,共 10 分) 请在注释 “ERROR” 处修改程 序中的错误, 使它能得出正确的结果。 注意: 不要改动 main 函数,不得增行或删 行,也不得更改程序结构! 43.用指针变量输出数值。 #include void main() { i nt a[ ]={1,2,3,4,5,6,7,8,9,10},*p; *p=a; /* ERROR1 */ p=a printf("%f\n",*p+9); /* ERROR2 */ “%d } 44.利用函数求两个整数的最大公约数。 #include void main() { int gc d(int a, int b); int a,b,abd; printf("intput data a b:\n"); scanf("%d,%d", a,b); /* ERROR3 */ abd=gcd(a,b); printf("abd=%d\n",abd); } int gcd(int x,i nt y); /* ERROR4 */ { int t; if(x<y) {t=x;x=y;y=t;} while(y!=0) { t=x%y;x= y;x=t;} /* ERROR5 */ return x; } 参考答案: ========== 一、单项选择题 1.A 2.D 3. B 4. C 10.B 11.B 12.C 13.B 19.A 20.C 21.C 22.B 二、填空题 26. 主函数 27. 1 28. 1.0/2*(x+sqrt(x+y)/(5*x)) 29. 3 30. 60 31. 20 32. 3 33. 5 34. 8 35. 15 三、程序分析题 36. 17 37. 6 4 2 38. 101 39. a=30 B=25 40. 10121 &a,&b ;删除 y=t
本文由桥头那边的星星贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 我 C 语言程序设计试题 一、单项选择题(本题共 25 小题,每小题 2 分,共 50 分) 在每小题列出的四个备选项中只有一个是符合题目要求的, 请将其正确答 案涂写在答题 卡上。错选、多选或未选均无分。 1. 以下正确的 C 语言自定义标识 符是__a。 A. _1a B. 2a_ C. do D. a.12 2. 在 C 语言中,错误的常数表示是d。 A. 0L B.-0x6aL C. '6' D. 1.234E3.5 3. 设 int a, x=2; 执行语句 a=x>0?3*x:x= 10;后,变量 x 的值是c。 A. 1 B. 2 C. 6 D. 10 4.设有以下程序段: int x=2,y =2,z=0,a; a=++x||++y&&z++; printf("%d,%d,%d\n",x,y,z); 执行后输出的结果是c 。 A. 2, 2, 0 B. 3, 3,1 C. 3, 2, 0 D. 3, 2, 1 5. 在 C 语言中,字符串"\\TOP \t\65\""的长度是b。 A. 5 B.7 C. 8 D. 12 6. 设 float x,由键盘输入:12.45, 能正确读入数据的输入语句是a。 A. scanf("%5f",&x) B. scanf("%5d",&x); C. s canf("%f",x); D. scanf("%s",&x); 7.逗号表达式 a=2*6,a*3,a+5 的值是b。 A. 12 B. 17 C.36 D. 41 8. C 语言程序中,整型常量的书写形式不包括__a。 A. 二进 制 B. 八进制 C. 十进制 D. 十六进制 9. 在 C 语言中,下列运算符中结合性属于自 右向左的是b。 A. && B. C.<< D. -> 10. 设 int x;,则与计算︱x︱等价的表达式 是b。 A. x>0?-x:x B. x>0?x:-x C. x<0?x:-x D. x<0?-x:-x 11. 执行下面的程序段 后,k 的值是。 int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 12. 表达式的值为 0 的是。 A. 5/5%5 B. 5>2 C. !4 D. 0x7&&7 13. 设 int a=11, b=2;执行下述程序段后 ,变量 a 和 b 的值分别是。 do { a/=b++; }while(a>b); A. 1,3 B. 1,4 C. 2,3 D. 2,4 14. 在 C 语言中,下列错误的说法是。 A. 函数可以递归调用 B. 不允许在 函数中再定义函数 C. 递归程序不可能用非递归算法实现 D. 对于 continue 语句, 可以通过改变程序的结构而不使用它 15.int a[2][3]={{1},{2,3}};,则 a[1][0]的 值是。 A.0 B. 1 C. 2 D. 3 16. 以下对二维数组 a 的正确说明是。 . A. int a [3][]; B. float a[][4]; C. double a[3][4]; D. float a(3)(4); 17.设 char s[ 10]= "abcd",t[]="12345";, s 和 t 在内存中分配的字节数分别是。 则 A.6 和 5 B. 6 和 6 C. 10 和 5 D. 10 和 6 18. switch(表达式)语句中的“表达式” ,允 许的类型是。 A.float, int B.float, int, char C. int, char D. char, doubl e 19. 在 C 语言中,形参的隐含存储类别是。 A. auto B. static C. extern D. re gister 20. 下列属于文件包含的命令是。 A. #define N 25 B. #endif C. #includ e "stdio.h" D. #else 21. 设 int i,j; for(i=5;i;i--) for(j=0;j<4;j++) {…} 20 D.无限次 22.设有以下说明语句: struct ex { int x; float y; char z; }example; 则下面的叙述中不正确的是。 A. struct 是结构体类型的关键字 B. example 是结构体类型名 C. x、y、z 都 是结构体成员名 D. struct ex 是结构体类型 23.正确的变量定义是。 A. unsigne d long d=1000; B. float m1=m2=10.0; C. char c1='A',c2=A; D. double x=0.618 ,x=3.14; 24.下面程序的输出结果是。 #include void main() { int s,k; for(s= 1,k=2;k<5;k++) s+=k; printf("%d\n",s); } A. 1 B. 9 C. 10 D. 15 25.下列描述 中不正确的是。 A. 字符型数组中可以存放字符串 B. 可以对字符型数组进行整体输 入、输出 C. 可以对实型数组进行整体输入、输出 D. 不能在赋值语句中通过赋值运 算符“=”对字符型数组进行整体赋值 二、填空题(本题共 10 小题,每小题 2 分, 共 20 分) 请在每小题空格中填上正确答案.错填、不填均无分。 26. 一个 C 语言 程序的执行起点是。 27. 设 int x=3,y=5; 则执行 printf("%d\n",x&&y);后输出_ 。 28.定出公式 29. 30. 31. 32. 33. 34. 1? ?x + 2? ? x+ y? ? 对应的 C 语言表达式。 5x ? ? 若函数调用语句为 f(a,b,f(a+b,a-b,b));,则函数 f 的参数个数是。 设 int a=2;,则执行 a+=a*=15;后,变量 a 的值是。 设 double y[4][5];,则数组 y 中 元素的个数是。 设 int x=7,y=3,则表达式 x%y+x/y 的值是。 设 char s[ ]={"ap ple"};,则执行 printf("%d\n",strlen(s));后输出的值是。 设 union { int i; c
相关文档
最新文档