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语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。

A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。

A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。

A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。

x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。

ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。

int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。

C语言模拟试卷及答案

C语言模拟试卷及答案

《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。

2.一个C程序有且仅有一个main( )函数.3.C语言描述“x和y都大于或等于z"的表达式是x〉=z && y〉=z。

4.C语言可以用来实现循环的结构化语句是while、do while、for。

5.数组名表示数组在内存的首地址.6.int a=3,*p=&a;*p+2的值是5。

二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。

(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从.(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.(C)本程序的main函数开始,到本程序文件的最后一个函数结束.(D)本程序文件的第一个函数开始,到main函数结束。

3.以下叙述正确的是。

(A)在C程序中,main函数必须位于程序的最前面.(B)C程序每行中只能写一条语句.(C)C语言本是没有输入输出语句。

(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误.4.以下叙述不正确的是。

(A)逗号运算符的运算级最低。

(B)ABC和abc是两个不同的变量。

(C)若a和b类型相同,在执行a=b后,b的自身值不变。

(D)‘a’和“a”是完全等价的常量。

5.int x=3,y=2;则表达式x+=x*=y+8的值为。

(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。

(A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。

char c1=98;printf(“%d %c”,c1,c1—32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为.y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。

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. !((x<y)&&!z||1)C. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执行语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6B. 3.1C. 3D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10<a<15 的为C 语言表达式是:正确答案A. 10<a<15B. 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;正确答案A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20正确答案: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 的表达式是:正确答案A. a[4]B. a[a[2]+1]C. a[a[2]]D. a[3]+1正确答案: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"D. c:user\file.txt正确答案:C二、填空题(共10题)1. 字符串存储时,末尾被系统自动加上字符。

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

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

《C语言程序设计》模拟试卷三一、填空题。

(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。

2.一个C语言文件就是由若干个组成。

3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。

4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。

5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。

p与s就是基类型为int得指针变量。

请对以下问题进行填空。

a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。

(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。

二、单项选择题。

(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。

A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。

A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。

A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。

A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。

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语言程序设计》期末笔试模拟试卷及参考答案

《C语言程序设计》期末笔试模拟试卷及参考答案

《C语言程序设计》期末笔模拟试卷(本试卷满分60分)院系学号姓名1. 答案均写在答题纸上,写在卷面上无效;2. 答题结束后将试卷及答题纸全部交给监考教师;一、单选题 (1分×16,共16分)1. 下面 (1) 是正确的局部数组声明CA. char a[][5]={“math”,“phy”,“chemi” };B. int b[3][3]={{1,2,3},4,5,6,7,{8,9}};C. float c[sizeof(sin(1))]={1,‘\n’};D. char ch[ ][10]={“Beijing”,“Nanjing”},*p[ ]={ ch[0],ch[1] };2. 如下哪个程序语法、语义都正确,且能获得正确的运行结果(2) A3. 若有声明:enum d{ e,s,w,n}c=s;则表达式“ops”+ c值的类型是 (3) 。

B A. enum d B. char * C. int D. int *4. 下列叙述中除 (4) 之外都是正确的。

BA.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。

B.不能用extern定义一个外部变量、数组。

C. 无论在函数外还是在函数内说明引用本程序中定义的函数,都可不写extern关键字。

D.用extern说明引用一个外部数组时,可以不给出数组大小。

5. 下列能正确执行的程序是: (5) A6. 对于二维数组定义: int a[i][j]; (i、j均为常量),且有:0≤m<i,0≤n<j , 则下列除 (6) 外,都是不等价的。

BA. a+m 与 a[0]+mB. a+m 与 *(a+m)C. *(a+m) 与 *a[m]D. *a 与 *a[0]7. 若程序中有声明:“float a,b[3][4];”与引用函数的说明:“int fun(floatk[][3]),int n);”则下列 (7) 都是常量或常量表达式。

C语言模拟试卷 (6)

C语言模拟试卷 (6)
.
5. 以下程序段不是死循环的是( ) (2分) A.int i=100; while(1) { i=i%100+1; if(i>100) break; } B.for(;;) ; C.int k=0; do{++k;} while(k D.int s=36; while(s); --s; 标准答案:C
.
12. 当把下面4个表达式用做if语句的控制表达式时,有一个选项与其他3 个选项含义不同,这个选项是() (2分) A.k%2 B.k%2==1 C.(k%2)!=0 D.!k%2==1 标准答案:D
.
13. 下列数据类型中不属于构造类型的是( ) (2分) A.数组型 B.结构型 C.共用型 D.枚举型 标准答案:D
.
29. 下面合法的语句是( ) (2分) A.int A=8,B; B=++A++; printf("%d,%d",A,B++); B.int A; printf("\\"%d\\"",scanf("%d",&A)); C.char A; scanf("%c",&A); char B=scanf("B=%c",&B); D.char C=getchar( ); putchar((int)C); 标准答案:D
} } (2分) 标准答案:1. 8921;
.
3. 阅读下述程序 #include <stdio.h> #define N 10 main() { int i,j,k,u; int a[N]; for (i=0;i<N;i++) scanf("%d",&a[i]); for (i=1;i<N;i++) for (j=0;j<i;j++) if (a[j]<a[i]) { u=a[i]; for (k=i-1;k>=j;k--) a[k+1]=a[k]; a[j]=u; } for (i=0;i<N;i++) { printf("%5d",a[i]); if ((i+1)%5==0) printf("\n"); } } 在执行该程序时,设输入 2 74 30 17 101 81 96 35 28 19 请写出输出结果 ________________________________________________________________________ (2分) 标准答案:1. 101 96 81 74 35 30 28 19 17 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语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

C语言中职考试拟卷(含答案)

C语言中职考试拟卷(含答案)

《C语言》试卷(拟卷)考试时间:90分钟总分:100分一、单项选择题(将正确答案填在括号内,一题3分,共39分)1.C语言中,下列哪个选项是合法的标识符()A. 1stVarB. _myVarC. IntD. void2.在C语言中,下列哪个选项是输出函数()A. scanfB. printfC. getcharD. putchar3.关于C语言中的循环结构,以下哪个描述是正确的()A. for循环只能用于遍历数组B. while循环必须有一个初始条件C. do-while循环至少会执行一次循环体D. 循环结构中不能使用break语句4.在C语言中,以下哪个关键字用于声明整型变量()A. floatB. doubleC. intD. char5.C语言中的数组名代表什么()A. 数组的第一个元素的地址B. 数组的最后一个元素的地址C. 数组的大小D. 数组的内容6.下列哪个运算符用于比较两个值是否相等()A. ==B. =C. &&D. ||7.C语言中,函数返回值的类型是由什么决定的()A. 函数名B. 函数体中的return语句C. 函数定义时的返回类型D. 调用函数时的参数8.在C语言中,以下哪个语句用于输出文本到控制台()A. scanf()B. printf()C. getchar()D. putchar()9.关于C语言中的指针,以下哪个说法是正确的()A. 指针是一个变量,存储的是另一个变量的值。

B. 指针是一个变量,存储的是另一个变量的地址。

C. 指针就是数组。

D. 指针和函数没有关系。

10.在C语言中,以下哪个语句用于结束当前循环()A. breakB. continueC. returnD. exit11.C语言中的结构体是一种什么类型的数据()A. 基本数据类型B. 复合数据类型C. 指针类型D. 函数类型12.在C语言中,字符串是以什么字符结尾的()A. \0B. \nC. 'D. "13.C语言中的预处理器指令以什么符号开头()A. #B. $C. %D. &二、双项选择题(将正确答案填在括号内,一题5分,共10分)1.下列哪个符号在C语言中用作注释()A. //B. /* */C. #D. %2.下列哪个选项是C语言中的条件语句()A. ifB. forC. whileD. switch三、填空题(将正确答案填在横线内,一空3分,共18分)1.C语言中的注释有两种形式,分别是____________和____________。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

C语言模拟试卷及其答案

C语言模拟试卷及其答案

2011―2012 学年第一学期《C 语言程序设计》模拟试卷(A)一、单项选择题(每题1分,共30分)1.以下选项中叙述正确的是________。

A )C 语言程序总是从第一个定义的函数开执行B )在C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行D )C 语言程序中的main()函数必须放在程序的开始部分2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。

A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。

A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。

A)2b B )x_1 C )a@b D)3#h5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。

A )0~255B )0~32767C )0~65535D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。

A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1;7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。

A )8 B )10 C )12 D )148.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。

A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。

A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z );10.华氏温度f 和摄氏温度c 的关系是)32(95-=f c 。

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #include<stdio.h>void main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

完整版C语言试卷及答案

完整版C语言试卷及答案

完整版C语言试卷及答案一、选择题部分(每题1分,共30分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. doubleC. charD. boolean2. 在C语言中,以下哪个用于定义常量的关键字?A. constB. staticC. finalD. define3. 下面哪个选项是正确的C语言注释格式?A. /** 注释内容 */B. // 注释内容C. /* 注释内容 */D. # 注释内容4. 下列选项中,不是C语言的逻辑运算符的是:A. &&B. ||C. !D. %5. 在C语言中,以下哪个函数用于输出信息到屏幕上?A. scanf()B. printf()C. gets()D. puts()二、填空题部分(每题2分,共20分)1. 在C语言中,用于声明变量的关键字是_________。

2. 在C语言中,用于取一个整数的绝对值的函数是_________。

3. 下面这段代码的输出结果是_________。

```c#include <stdio.h>int main(){int a = 10;int b = 20;printf("%d + %d = %d\n", a, b, a + b);return 0;}```4. 在C语言中,用于按位取反的运算符是_________。

5. 下面这段代码的循环次数是_________。

```c#include <stdio.h>int main(){int i;for (i = 0; i < 5; i++){printf("%d ", i);}return 0;}```三、编程题部分(共50分)1. 编写一个程序,输入一个整数n(n>0),输出1到n之间的所有偶数。

2. 设计一个函数,接收两个整数参数a和b,返回它们的最大公约数。

3. 编写一个程序,实现斐波那契数列的前n项的求和。

C语言程序设计---考试模拟试卷及解析

C语言程序设计---考试模拟试卷及解析

第十三章考试模拟试卷及解析13.1 模拟试卷1及解析一、单项向选择题(每小题1.5分,共30分)1. 关于C语言的叙述,不正确的是()。

A) C程序必须包含一个main()函数B) C程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 注释说明只能位于一条语句的后面分析:注释可以出现在语句的前面、后面或中间。

例如,#include<stdio.h>void main(void){ /*计算1+2+3+4+…100的值*/int i;long s=0;for( i=1; i<= /* 不要丢掉'='号!*/ 100; i++)s+=i;/* 注意以下输出语句中long int 数据的输出控制格式”%ld” */printf("s=%ld\n",s);}答案选D。

2.以下()是正确的字符常量。

A) "c" B) '\t' C) '12' D) "\\"分析:A)中的"c"为字符串常量,B)中的'\t'为转义字符,请大家注意常用转义字符的表示方法(参见教材),C)中'12'表示错误,因为单引号里面只能含有1个字符。

D)中表示的是一个字符串(双引号),尽管这个字符串中只含有一个转义字符'\\'。

答案选B。

3.设char ch='c';,则表达式ch+1的值为()。

A) 97 B) 98 C) 99 D) 100分析:字符变量存储的是所对应字符的ASCII值,26个字母之间的ASCII值按字母顺序是连续的,即字母'a'的ASCII值为十进制的97,字母'b'的ASCII值为十进制的98,依次类推。

大家应记住常用字符的ASCII值,如,'A'为65,'0'为48等。

C语言模拟试卷 (5)

C语言模拟试卷 (5)

7. 以下叙述中正确的是( ) (2 分) A.构成 C 程序的基本单位是函数 B.可以在一个函数中定义另一个函数 C.main()函数必须放在其它函数之前 D.所有被调用的函数一定要在调用之前进行定义 .标准答案:A
8. 下面的符号常量定义中,正确的是 ( ) (2 分) A.#define PI 3.14; B.#include PI 3.14; C.#define PI=3.14 D.#define PI 3.14 .标准答案:D
3. 设有字符型变量 x 的值是'1'(对应二进制数是 00110001),要通过“x^y”运算,使得 x 的高 3 位不变,低 5 位取反,y 的 值用二进制数来表示应为________________________________. (2 分) .标准答案:1. 00011111;
4. 下面程序的输出是 ____________________________________ #include <stdio.h> #include <string.h> main() { char ss[10]= "12345"; strcat(ss, "6789"); printf("%s\n",ss); } (2 分) .标准答案:1. 123456789;
三、程序设计题 (共 2 题,共 20 分)
1. 编程将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。 (10 分)
标准答案:main() {
int n,i; printf("\nplease input a number:\n"); scanf("%d",&n); printf("%d=",n); for(i=2;i<=n;i++) { while(n!=i) { if(n%i==0) { printf("%d*",i); n=n/i; } else break; } } printf("%d",n); }

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

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

自考C语言程序设计模拟试卷及答案(3)一、单项选择题1B 2B 3D 4C 5D 6C 7A8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21CB 1. 设int x=1,y=1;表达式(!x++ || y-—)的值是____B_____A.0 B。

1 C。

2 D.-1C 2.main(B){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n",n);}此程序的输出结果是______C________。

A。

30 B。

24 C. 60 D. 48D 3.若有如下定义,则_____D_____是对数组元素的正确的引用。

int a[10], *p ;p=a ; p=a ; p=a ; p=a ;A。

*&a[10] B. a[11] C. *(p+10) D. *pC 4。

设整型变量n的值为2,执行语句“n+=n—=n*n;”后,n的值是__________A. 0 B。

4 C。

— 4 D。

2D 5.以下不能正确定义二维数组的语句是___________A 。

int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};C。

int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};C D 6. 程序段的功能是将变量 u 、s中的最大值赋给变量t 。

A。

if(u>s) t=u;t=s; B。

t=u; if(t ) t=s;C. if(u>s) t=s;else t=u; D 。

t=s; if(u ) t=u;A 7.下列程序段的输出结果是。

void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf(“#”);elseprintf(“*"); }}A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言模拟试卷(带答案)精品文档单选题:1、执行下面的程序段后,变量k中的值为s[0]=k; k=s[1]*10;A. 不定值B. 33C. 30D. 10答案: A2、设有以下定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+(4*5+1)A. 出错B. 42C. 48D. 54答案: C3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____A. 1B. 2C. 2.0D. 2.5答案: c4、请选出以下语句的输出结果____printf("%d\n",strlen("\t\ 065\xff\n"))A. 5B. 4C. 8D. 输出项不合法,无正常输出答案: B5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的else总是与____组成配对关系。

A. 其上面距它最近的,并且没有其他else与其配对的if相配对B. 在同一行上的ifC. 缩排位置相同的ifD. 在其之前未配对的if答案: A6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y));上面程序片段的输出结果是A. 200B. 100C. 100 200D. 输出格式符不够,输出不确定的值答案: A7、请读程序片段(字符串内没有空格字符):printf("%d\n", strlen("ATS\n012\1\\"));上面程序片段的输出结果是A. 11B. 9C. 10D. 8答案: B8、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则______A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次答案: B9、阅读下列程序:main( ){ int n[3],i,j,k;for(i=0;i〈3;i++)n[i]=0;k=2;for (i=0;i < k;i++) i=0: n[0]=1,n[1]=2 i=1: =3 =3for (j=0;j〈2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序运行后输出结果是A. 2B. 1C. 0D. 3答案: D10、输入一个华氏温度,要求输出摄氏温度。

计算公式为:c=5/9(F-32),以下程序正确的是()A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }精品文档B. main() { float c,F; scanf("%f,%f",&c,&F); c=5*(F-32)/9; printf("摄氏温度是:%f\n",c); }C. main() { float c,F; scanf("%f,%f",&c,&F); c=5%9*(F-32); printf("摄氏温度是:%f\n",c); }D. main() { float c,F; scanf("%f,%f",&c,&F);c=5.0/9.0(F-32); printf("摄氏温度是:%f\n",c); } 答案: B11、以下程序的输出结果是main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,11答案: D12、请读程序:main(){int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++;break;case 1: b++;break;}case 2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}上面程序输出结果是A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=0答案: A13、C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是____.A. 单纯值传递B. 单纯地址传递C. 值传递和地址传递都有可能D. 由实参传给形参,然后由形参传回给实参,即是双向传递答案: A14、下列不正确的转义字符是( )A. '\\'B. '\'C. '\101'D. '\0'答案: B15、下列语句正确的是( )A. if(a > b > c) temp=aB. if((a=b) > 0) temp=aC. int a=b=c=4D. int a;scanf(%d,a)答案: B16、以下说法中正确的是( )。

A. C语言程序中是从第一定义的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分答案: C17、下列说法中正确的是____。

A. 一个数组能够存储许多不同类型的值B. 数组的下标可以是float数据类型C. 如果初始化值列表中的个数少于数组的元素的个数,C编译器会自动补齐D. 初始化值列表中的值的个数多于数组元素的个数是错误的答案: D18、设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为A. floatB. charC. intD. double答案: D19、设以下变量均为int类型,则值不等于7的表达式是A. (x=y=6,x+y,x+1)B. (x=y=6,x+y,y+1)C. (x=6,x+1,y=6,x+y)D. (y=6,y+1,x=y,x+1)答案: C20、以下不正确的if语句形式是A. if(x>y&&x!=y)t=x++;B. if(x==y) x+=y;精品文档C. if(x!=y) scanf("%d",&x) else scanf("%d",&y);D. if(x<>答案: C21、若i为整型变量,则以下循环执行次数是for(i=2;i==0;) printf("%d",i--);A. 无限次B. 0次C. 1次D. 2次答案: B22、以下错误的描述是:函数调用可以A. 出现在执行语句中B. 出现在一个表达式中C. 做为一个函数的实参D. 做为一个函数的形参答案: D23、以下各选项企图说明一种新的类型名,其中正确的是A. typedef v1 int;B. typedef v2=int;C. typedef v1 int v3;D. typedef v4: int;答案: C24、以下程序的输出结果是main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}A. 5B. 4C. 6D. 不确定答案: c25、以下程序调用findmax函数返回数组中的最大值findmax(int a[],int n){ int *p,*s;for(p=a,s=a; p-a<="" p="" p++)="">s pif ( ) s=p;return(*s);}main() { int x[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}在下划线处应填入的是A. p>sB. *p>*sC. a[p]>a[s]D. p-a>p-s答案: B26、有如下程序main(){ char s[]="ABCD", *P;for(p=s+l; p < s+4; p++) printf ("%s\n",p);}该程序的输出结果是A. ABCD BCD CD DB. A B C DC. B C DD. BCD CD D答案: D27、下列描述中不正确的是A. 字符型数组中可以存放字符串B. 可以对字符型数组进行整体输入、输出C. 可以对整型数组进行整体输入、输出D. 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值答案: C28、将三个数排序需要比较______次。

A. 2B. 3C. 4D. 不确定答案:B填空题:1、下面程序功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。

#include < stdio.h >main(){ int i, j;精品文档for(i=0; _____(1)______; i++){ j=i*10+6;if( _____(2)______ ) continue;printf("%d",j);}}答案: i<10,j%3!=02、 main( ){ int sum=0, i ;scanf( "%d",&i );while (i < = 10){sum=sum+i;i++;}printf("%d",sum);}输入 1输出______答案: 553、用来引用特定数组元素的数字称为____.答案:下标4、把数组元素按顺序存放的过程称为_________.答案:排序5、应该用_______声明数组的大小,因为这样能够更容易调整程序。

答案:符号常量6、输出为__________main( ){char x,y;x='a'; y='b';printf("xy\bmn\r");printf("%c\\%c\\n",x,y);printf("%c\a\n",' \65 ');}答案: a\b\n 57、 #include < stdio.h >main( ){int i=0,j=0,a=6;if ((++i > 0) || (j++ > 0)) a++;printf("i=%d,j=%d,a=%d\n",i,j,a);}结果:_____答案: I=1, j=0, a=78、写出该程序运行的结果。

相关文档
最新文档