C语言模拟试卷1
C语言模拟测试题一及答案

模拟题一一、选择题1•下列说法正确的是()。
A)nwin函数必须放在C程序的开头B)main函数必须放在C程序的最后C)nzm函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.C语言中不能用来表示整常数的进制是()<>A)十进制B)十六进制C)八进制D)二进制3•在下而几组数据类型中,全为最常用的基本数拯类型的是哪一组:()。
A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型4.C语言规定标识符由()等字符组成。
A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线5.若有说明语句:char ci6T;则变量C包含(九A)1个字符B) 2个字符C) 3个字符D)说明不合法,C值不确泄6.若有如下定义:int a=2,b=3; float x=3.5,y=2.5;则表达式:(float)(a+b)/2+(iiit)x%(int)y 的值是()。
A) 2.500000 B) 3.500000 C) 4.500000 D) 5.0000007•设有如下泄义和执行语句,其输岀结果为()。
mt a=3,b=3;a = —b + 1; printf(fcfc%d %d'\a.b);A) 3 2 B) 4 2 0 2 2 D) 2 38•以下表达式:2+hTf,其中i为整型变量,f为float型变量,则表达式的最终数据类型为()oA)iiit B) float C) char D) double9.C语言中,运算对象必须是整型数的运算符是()。
A) % B) \ C) % 和 \ D) **10.有如下语句:pnntf(%%5.3syCOMPUTER'TCOMPUTER");执行语句后的最终结果为(A) COMPUTER .CMP . B) COMPUTER. CMP.C) COMPU, CMP. D) COMPU,CMP11•能正确表示X的取值范用在[0, 100]和[-10, -5]内的表达式是()。
C语言模拟试题

《C 语言程序设计》模拟试题(一)一、 选择(每题2分,共30分)1.以下叙述中正确的是_____A _。
A) 构成C 程序的基本单位是函数 B) 可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D) 所有被调用的函数一定要在调用之前进行定义 2.以下选项中合法的实型常数是__C ____。
A) 5E2.0 B) E-3 C) .2E0 D) 1.3E3.以下选项中合法的用户标识符是______D 。
A) long B) _2Test C) 3Dmax D) A.dat4.已知i 、j 、k 为int 型变量,若从键盘输入:1,2,3<回车>,使i 的值为1、j 的值为2、k 的值为3,以下选项中正确的输入语句是____B __。
A) scanf("%2d%2d%2d",&i,&j,&k); B) scanf(""%d %d %d",&i,&j,&k); C) scanf("%d,%d,%d",&i,&j,&k); D) scanf("i=%d,j=%d,k=%d",&i,&j,&k); 5以下程序的输出结果是______C _ main( ) {int a=1,b=2,c=3; printf(“%d”,c>b>a); }A)2 B)1 C)0 D)36.判断char 型变量c 是否为小写字母的表达式是_________A)’a’<=c<=’z’ B)(c>=a)&&(c<=z) C)(‘a’>=c)||(‘z’<=c) D)(c>=’a’)&&(c<=’z’) 7.以下选项中,与k=n++完全等价的表达式是___A ____。
昆明理工大学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语模拟考试题1

C语言模拟考试题1(共100分)一、单项选择题(每小题1分,共20分)1.若已定义x和y为double类型,则表达式x=1, y=x+5/2的值是(C )。
(A) 2 (B) 3 (C) 3.0 (D) 3.52.下列正确的字符串常量是( B )。
(A) abc (B) "abc" (C) 'abc' (D) 'a'3.以下程序运行后的输出结果是(B )。
#include<stdio.h>void main( ){ int p=10;printf("%d\n", (p?p/3:p%3));}(A) 2 (B) 3 (C) 20 (D) 错误信息4.在C语言中,short类型的数据长度为2个字节,则unsinged short类型数据的取值范围是( B )。
(A) 0至255 (B) 0至65535(C) -32768至32767 (D) -256至2555.在下列定义中,不正确的是( D )。
(A) int a[10]={12,23}; (B) char *b[10];(C) char s[20]= "china"; (D) double n=9,aa[n];6.有#define f(x) x+x及int a=3; 则执行printf("%d", f(a)*f(a)); 后的输出值为(B )。
(A) 0 (B) 15 (C) 36 (D) 97.使用fseek函数可以实现的功能是(D )。
(A) 文件的输出和输入(B) 文件的顺序读写(C) 文件的随机读写(D) 改变文件位置指针的当前位置8.以下关于静态局部变量的说法正确的是(D )。
(A) 静态局部变量的作用域为程序运行的全过程(B) 静态局部变量定义在函数体之外(C) 当某一函数被调用时,系统才为它的静态局部变量临时分配存储空间(D) 存储特性定义为static的局部变量是静态局部变量9.表达式sizeof('a'+10.0)的值为( C )。
C语言模拟试题及答案

一、单项选择题(50分,每题2分)1.不合法的字符常量是( ) 。
A)…\t‟ B) “A” C)…a‟ D)‟\x32‟2.假定x和y为double型,则表达式x=2,y=x+3/2的值是( ) 。
A)3.500000 B)3 C)2.000000 D)3.0000003.putchar ( )函数可以向终端输出一个( ) 。
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值4.在C语言中,要求参加运算的数必须时整数的运算符是( ) 。
A)/ B)* C)% D) =5.执行下列程序片段时输出结果是( ) 。
int x=13,y=5;printf(“%d”,x%=(y/=2));A)1 B)2 C)3 D)06.已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使I的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是( ) 。
A)scanf(“%2d%2d%2d”,&i,&j,&k);B)scanf(“%d_%d_%d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);7.C语言的程序一行写不下时,可以( ) 。
A)用逗号换行B)用分号换行C)在任意一空格处换行D)用回车符换行8.putchar ( )函数可以向终端输出一个( ) 。
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值9.执行下列程序片段时输出结果是( ) 。
int x=13,y=5;printf(“%d”,x%=(y/=2));A)3 B)2 C)1 D)010.逻辑运算符两侧运算对象的数据类型( ) 。
A)可以是任何类型的数据B)只能是0或非0正数C)只能是整型或字符型数据D)只能是0或111.C语言对嵌套if语句的规定是:else总是与( ) 。
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语言程序设计模拟考试试卷及答案(一)一、单项选择题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语言程序设计》模拟试卷一一、单项选择题(每题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(本大题共30小题,每小题2分,共60分)1.C语言源程序的基本单位是()。
A.过程 B.函数 C.子程序 D.标识符2.设整型变量a为5,则使整型变量b不为2的表达式是()。
A.b = a / 2 B.b = 6 – (--a) C.b = a % 2 D.b = a > 3 ? 2 : 1 3.已定义单精度变量x,y; 在键盘上输入:2008,8(回车),使x为2008,y为8的正确语句是().A. scanf(“%d,%d”,x,y);B. scanf(“%f%f”,x,y);C. scanf(“%d%d”,&x,&y);;D. scanf(“%f,%f”,&x,&y);4.设 int a=12; 表达式a+=a-=a*=a的值是()。
A. 12 B. 144 C. 0 D. 1325. 设有如下程序段,下面描述中正确的是()。
int k=8; while(k=0) k=k-1;A.循环执行一次 B.循环是无限循环 C.循环体语句一次也不执行D.循环体语句执行一次6.以下的 for 循环()。
for(x=0,y=0;(y!=18)&&(x<5);x++) ;A. 执行 4 次B. 执行 5 次C. 循环次数不定D. 是无限循环7. 设x、y、z均为int型变量,则执行以下语句后,x、y, z的值为()x=1; y=0; z=2; y++&&++z ||++ x;A. 2、l、3B. 2、0、3C. 2、l、3D. 2、1、28.执行语句“x=(a=3,b=a—-);”后,x,a,b的值依次为()A. 3,3,2 B.2,3,2 C.3,2,3 D.2,3,39.设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)"后m,n的值是()A.0,0 B.0,l C.1,0 D.1 ,l10. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 ( )A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值11. 有说明语句int a[4][5]; ,则a[2]+3表示 ( )A、a数组行下标为2、列下标为3的元素的地址B、a数组行下标为2、列下标为3的元素的值C、a数组第2行的首地址D、a数组第3行的首地址12. 在下列选项中,构成死循环的程序段是( )A、int i=100; while (1<i) i--;B、for( 1; 0; 3);C、int k=1000; do{++k;k--;} while (k==1000);D、int s=36; while(s) --s;13. 设int a=3,b=4,c=5;表达式(a+b)>c && b<c的值是()A、2B、-1C、0D、114. 能正确表示逻辑关系a≥1且a≤100的表达式是()A、a<=100 or a>=1B、a>=1 & a<=100C、1<=a<=100D、100>=a && a>=115.若有说明语句 struct {int a; long b; char c;} sam; 则以下正确的语句是()A、sam.c = “abcd”;B、strcpy(sam.c, “abcd”);C、sam->c = “abcd”;D、sam.c = ‘a’;16.设有如下的程序段 char *str="Hello", **ptr ; ptr = &str;则 *(ptr+2)的值为( )A、`e`B、`\0`C、不确定的值D、`l`17.有如下程序void main(){ int n=3;while(--n)printf(“%d”,n);}该程序段的输出结果是( )A、210B、321C、21D、321018. 当执行程序段x=-1;do { x=x*x;} while(!x);时, 循环体将 ( )A. 执行一次B. 执行两次C. 执行无限次D. 执行零次19.以下程序的输出结果是( D )A. 8B. 7C. 6D. 5int Fun(char *s) { char *p=s;while(*p)p++;return(p-s); }void main( ){ char *p="abded";int i;i=Fun(p);printf("%d\n",i);}20.以下程序执行后,a的值是( )#include <stdio.h>void main(){ int a,k=4,m=6,*p1=&k,*p2=&m;a=(p1==p2);printf("%d\n",a);}A. 4B. 1C. 0D. 运行时出错,无定值21.设有说明语句int s[2]={0,1},*p=s; 则下列错误的语句是( )A. s+=1;B. p+=1;C. *(p++);D. (*p)++;22.如下程序段int *p,a=10,b=1;p=&a; a=*p+b;执行该程序段后,a的值为( )A. 12B. 11C. 10D. 编译出错23. 在下面拟作函数声明的选项中,存在语法错误的是()。
A. void BC(int a, int );B. void BD(int,int);C. int BE(int,int);D. int BF(int x; int y );24. 以下程序执行后,输出结果是 ( )#include <stdio.h>void main(){ int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for (i=0;i<10;i++)y[x[i]]++;printf(“%d\n”,y[3]);}A. 4B. 1C. 0D. 运行时出错,无定值25.以"只读"方式打开文本文件d:\aa.dat,下列语句中哪一个是正确的( )A. fp=fopen(″d:\\aa.dat″,″ab″);B. fp=fopen(″d:\aa.dat″,″a″);C. fp=fopen(″d:\aa.dat″,″wb″);D. fp=fopen(″d\\aa.dat″,″r″);26. 根据下面的定义,能打印出字母M的语句是()。
struct person { char name[a]; int age;};struct person class[10]={"John",17,"Panl",19,"Mary",18,"Adam",21};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]);27. 已有定义 int (*p)();则指针p可以()。
A. 代表函数的返回值B. 指向函数的入口地址C. 表示函数的类型D. 表示函数返回值的类型28. 以下正确的说明语句是()。
A. int *b[]={1,3,5,7,9};B. int a[5],*num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};C. int a[]={1,3,5,7,9}; int *num[5]={a[0],a[1],a[2],a[3],a[4]};D. int a[3][4], (*num)[4];num[1]=&a[1][3];29. 有宏定义:#define MULT1(a,b) a*b#define MULT2(a,b) (a)*(b)在后面的程序中有宏引用:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8);则y和z的值是( )A. y=65,z=65B. y=21,z=65C. y=65,z=21D.y=21,z=2130.设有一结构体类型变量定义如下:struct date struct worklist{ int year; { char name[20];int month; char sex;int day; struct date birthday;}; }person;若要对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是:( )。
A. year=1976B. birthday.year=1976C. person.birthday.year=1976D. person.year=1976二、程序阅读题(本大题共4小题,每小题5分,共20分)阅读下列程序,并回答正确的输出结果。
31.void Fun(int n,int a[][3]){int i, j,k=0 ;for (i=0; i<n; i++)for(j=0; j<n; j++)if(i!=j)k=k+a[i][j];printf("k=%d\n",k);}void main( ){int a[3][3]={{6,4,2},{8,6,4},{9,6,3}};Fun(3,a);Fun(2,a+1);}32.void Fun(int x,int y){int t;t=x; x=y; y=t;}void main(){int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){Fun(*p,*q);p++; q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}33.#include <stdio.h>int Count(char *p[]){int num=0; char *str;str=p[1];while(*str){if((*str)>='a' && (*str)<='z')num++;str++;}return num;}void main(){char *q[3]={"abAB","abcD222","ABC"};printf("num=%d",Count(q));}34.#include <stdio.h>int Sub(int n){int num;if(n==1)return 1;num=n+Sub(n-1);printf("num=%d\n",num);return num;}void main( ){printf("Sub=%d\n",Sub(5));}三、完善下列程序(本大题共3小题,每空2分,共20分)35. 根据公式输出π的值。