《C程序设计》模拟试卷

合集下载

C语言程序设计模拟题

C语言程序设计模拟题

C语言程序设计模拟题一、选择题1.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值2.若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A、0 B、0.5 C、1 D、23.有以下程序#include<stdio.h>main(){char *s="ABC";do{printf("%d",*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。

程序运行后的输出结果是()A.5670 B.656667 C.567 D.ABC 4.有以下程序#include <stdio.h>main(){int i=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;} while(i!=0);printf("\n");}程序的运行结果是()A.*7 B.*3*5 C.*5 D.*2*65.设i和x都是int类型,则for循环语句()。

for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A. 最多执行10次B. 最多执行9次C. 是无限循环D. 循环体一次也不执行6.下述for循环语句()。

int i,k;for(i=0,k=-1;k=1;i++,k++) printf("* * * *");A. 判断循环结束的条件非法B. 是无限循环C. 只循环一次D. 一次也不循环7. 引用共用体变量中的字符型变量,以下正确的是()A. a.chB. a.f C b.ch.8.以下共用体定义错误的是()A. B Cunion union data union data{ int i; {int i; {int i;char ch; char ch; char ch;float f; float f; float f;}a,b,c; } }union data a,b,c9.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。

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

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

C语言程序设计模拟题(含答案)C语言程序设计试题一、单项选择题(本题共25小题,每小题2分,共50分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。

错选、多选或未选均无分。

1. 以下正确的C语言自定义标识符是__A____。

A. _1aB. 2a_C. doD. a.122. 在C语言中,错误的常数表示是___D____。

A. 0LB.-0x6aLC. '6'D. 1.234E3.53. 设int a, x=2; 执行语句a=x>0?3*x:x=10;后,变量x的值是___B____。

A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是___C______。

A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,字符串"\\TOP\t\65\""的长度是__B_____。

A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是___C_____A_。

A. scanf("%5f",&x)B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.逗号表达式a=2*6,a*3,a+5的值是___B______。

A. 12B. 17C.36 D. 418. C语言程序中,整型常量的书写形式不包括___A______。

A. 二进制B. 八进制C. 十进制D. 十六进制9. 在C语言中,下列运算符中结合性属于自右向左的是________B_。

C程序设计模拟试题

C程序设计模拟试题

C++ 程序设计模拟试题、选择和填空:1. C++程序的基本单位是()A. 程序行B. 语句C. 函数D. 字符2. 假设所有变量均为整型.则表达式(a=4,b=6,a++,a+b的值是3. 下列程序段运行后x的值是:____________a=b=c=0;x=35;if (!a) x--;else if (b);if ( c) x=3;else x=5;4. 若有定义: float w;int a, b;则合法的switch 语句是A. switch(w){ case 1.0: cout<<"*\\n"; case 2.0: cout<<"**\\n";}B. switch(a);{ case 1 cout<<"*\\n"; case 2 cout<<"**\\n";}C. switch(b){ case 1: cout<<"*\\n";default: cout<<"\\n";case 1: cout<<"**\\n";}D. switch(a+b){ case 1: cout<<"*\\n";case 2: cout<<"**\\n"; default: cout<<"\\n";}5. 有以下程序段int k=0;while(k=1) k++;while 循环执行的次数是A. 无限次B.有语法错,不能执行D. 执行1 次C. 一次也不执行6. ________________________________ 下面程序的输出结果是:void main() { int y=9;for( ; y>0; y--){ if(y%3==0){ cout<<- -y;continue;}}}7. 关于内嵌函数,以下说法正确的是:A. 内嵌函数中可以存在循环结构和SWITCH结构.B. 内嵌函数可以在调用之后定义,只要在调用前声明即可.C. 使用内嵌函数可节省函数调用与返回时的开销,能够提高程序的运行速度D. 内嵌函数可长可短.8. 下列程序的输出结果是:____________int rfact(int n) { int c;if (n==1) c=1;else c=n*rfact(n-1);return ( c );}void main( ) {cout<<rfact(5);}9. 以下程序的输出的结果是: _________int x=3;void incre( ){ static int x=1;x++; cout<<x;}void main( ){ int i;for (i=1;i<=x;i++)incre( );}10. 请选出以下程序的输出结果: __________#define MIN(x,y) (x)<(y)? (x):(y)void main(){ int i,j,k;i=10; j=15;}k=10*MIN(i,j);cout<<k;11若有下面的说明和定义,贝U sizeof (ua 和sizeof(aa )的值分别是 _____________struct aa{ short r1; double r2; float r3; union uu { char u1[5];long u2[2];} ua;}mya;12. 合法的数组定义是A. int a[ ]=”string ”C. char a=”string ” 13. 若有以下说明:int w[3][4]={{0,1},{2,4},{5,8}};int (*p)[4]=w;贝数值为 4 的表达式是A. *w[1]+1B. p++, *(p+1) 14. 设有说明语句 int (*ptr)[m]; 其中的标识符 ptr 是A. m 个指向整型变量的指针B. 指向m 个整型变量的函数指针C. 一个指向具有m 个整型元素的一维数组的指针D. 具有m 个指针元素的一维指针数组,每个元素都只能指向整型变量15. 若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;贝数值为 6 的表达式是A . *p+6 B. *(p+6) C. *p+=5 D. P+516. 有如下程序# include <iostream.h> void main(){char ch[2][5]={ “6937”, “8254”}, *p[2]; int i, j, s=0;for (i=0; i<2; i++) p[i]=ch[i];for (i=0; i<2; i++)for (j=0; p[i][j]> '\0'; j+=2) s=10*s+p[i][j]- ‘0'; cout<<s<<endl;B. int a[5]={0,1,2,3,4,5} D. char a[ ]={0,1,2,3,,4,5}C.w[2][2]D. P[1][1]该程序的输出结果是17. 下面程序的输出是#include <iostream.h> sub1(char a, char b) {char c; c=a; a=b; b=c;} sub2(char *a, char b) {char c; c=*a; *a=b; b=c;} sub3(char *a, char *b) {char c; c=*a; *a=*b; *b=c;} void main() { char a,b;a='A '; b='B'; sub3(&a,&b); cout<<a<<b; a='A '; b='B'; sub2(&a,b);cout<<a<<b; a='A '; b='B'; sub1(a,b); cout<<a<<b;}A. BABBABB. ABBBBAC. BABABAD. BAABBA18. struct sk {int a; float b;} data, *p;若有p=&data,则对data中的a成员的正确引用是A. (*P).dataB.(*p).aC. p->data.aD. p.data19. 以下程序的输出结果是 ___________#include <iostream.h>fun(int n,int *s) { int f1,f2;if(n==1||n==2) *s=1;else{ fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } void main() { int x; fun(6,&x);cout<<x<<endl; }20. 以下程序的输出结果是 ___________#include <iostream.h>main(){ char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0;case '2':i=1;case '3':i=2;case '4':i=3;}v[i]++;} for(k=0;k<4;k++) cout<<v[k];}21. ________________________________________ 在C++类中,一个保护成员是通过关键字____________________________________ □以说明的A.virtualB. protectedC. publicD.protect22. 每个类( )构造函数。

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语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。

c语言程序设计模拟题

c语言程序设计模拟题

c语言程序设计模拟题c语言程序设计模拟题一、选择题(1)能够将高级语言程序转换成目标语言程序的就是__c____。

a)调试程序b)解释程序c)编译程序d)编辑程序(2)__a____是构成c语言程序的基本单位。

a)函数b)过程c)子程序d)子例程(3)可以在c语言中用作用户标识符的就是__b___。

a)voidb)as_b3c)ford)2cdefine_123-abcdowordifcassig(4)若有以下类型说明语句:charw;intx;floaty,z;则表达式w*x+z-y的结果为__d___类型。

a)floatb)charc)intd)double(5)main(){floatx=123.456;printf(\}以上程序输出的结果是___d___。

a)123.4b)123.5c)123.45d)123.46(6)下面语句的输入结果就是___c___。

printf(\a)14b)8c)5d)输入项不合法,并无正常输入(7)以下程序的输入结果就是__b____。

main(){inta=0,b=0,c=0;if(++a>0|++b>0)++c;printf(\}a)a=0,b=0,c=0b)a=1,b=1,c=1c)a=1,b=0,c=1d)a=0,b=1,c=1(8)以下程序的输入结果就是__b____。

main(){inti;for(i=1;i+1;i++){if(i>4){printf(\}printf(\}a)55b)56c)程序错误,没有输出d)循环条件永远为真,死循环(9)下列程序的输出结果是___a___。

#definea100main(){inti=0,sum=0;do{if(i==(i/2)*2)continue;sum+=i;}while(++iprintf(\}a)2500b)2050c)4d)0(10)下列程序的输出结果是__d____。

main(){inti=3;switch(i){case1:case2:printf(\case3:case4:break;default:printf(\}}a)0b)3c)okd)没任何输入(11)以下程序执行后的输入结果就是__c____。

C语言程序设计 模拟试卷

C语言程序设计  模拟试卷

C语言程序设计课程模拟试卷一、单项选择题.把合适的选项编号填写在括号内.(每小题3分,共42分)1.在C语言中,每条复合语句的结束标记字符为( )。

A.] B.) C.> D.}2. 在C语言程序中,单行或行尾注释语句使用的标记符为()。

A。

*/ B. /* C. // D. **3。

C语言源程序文件的扩展名为().A。

cpp B. exe C。

obj D。

c4。

控制字符'\n’表示( )。

A. 回车B. 响铃 C。

换行 D。

换页5。

运算符优先级最高的是()。

A。

== B。

+ C. && D。

||6. x<=10的相反表达式为()。

A。

x〉=10 B. x>10C。

x!=10 D. x>07. 每次先进行循环条件的判断,然后再执行循环体的语句为( ).A. for和do B。

for和whileC. while和do D。

switch和break8。

假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]被初始化为( )。

A。

6 B。

2 C. 8 D. 79。

对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。

A. MB. NC. M-1D. N-110. 假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为( )。

A. 25B. 42C. 26 D。

4311。

已知“int a[6][5];”,则元素a[2][4]的地址比该数组的首地址大()。

A. 14个字节 B。

56个字节 C。

28个字节 D. 96个字节12. 在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是( )。

A. 全局 B。

语句 C. 文件 D。

局部13. 在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的()。

A. 地址B. 值C. 名称D. 类型14. 在C语言中,为只写操作打开一个文本文件的方式为()。

《 C程序设计》模拟试题一及参考答案

《 C程序设计》模拟试题一及参考答案

《 C程序设计》考试试题( 120分钟)(闭卷)一、单项选择题(每小题 2分,共60分)1. C语言规定:在一个源程序中,main函数的位置是 _________ 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后2.下列四组选项中,均不是C语言关键字的选项是 _________ 。

A)define B)getc C)include D)whileIF char scanf gotype printf case pow3.设 int a=3;结果为0的表达式是 _________ 。

A)2%a B)a/=a C)!a D)~a4.执行下面程序片段的结果是 _________ 。

int x=23;do { printf("%d",x--);}while(!x);( A)打印出231 (B)打印出23( C)不打印任何内容(D)陷入死循环5. 设int a=0,b=5,c=2;选择可执行x++的语句是 _________ 。

A)if(a) x++; B)if(a=b) x++;C)if(a =< b) x++; D)if(!(b-c)) x++;6.以下程序的运行结果是 _________ 。

main(){ int k=4,a=3,b=2,c=1;printf("\n%d\n",k<a ? k:c<b ? c:a);A)4 B) 3 C) 2 D)17.以下程序的输出结果是 _________ 。

main( ){ int x=8,y=8; printf("%d%d\n",x--,--y);}A)8 8 B)7 7 C)7 8 D)8 78.C语言中,运算对象必须是整数的运算符是 _________ 。

A)% B)\ C)%和\ D) **9.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 _________ 。

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

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

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

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

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

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

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

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

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

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

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))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )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的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()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程序设计》模拟试题二及参考答案

《C程序设计》模拟试题二及参考答案

《 C 程序设计》考试试题( 120 分钟)一、单项选择题(每小题 2 分,共 60 分)1 .自定义标识符中,符合 C语言规定的是 __D___ 。

A)for B)3a C)*a D)_123 A错在哪2 . C语言程序的基本单位是 ______ 。

A)程序行 B)语句 C)函数 D)字符3 . g etche( )函数的功能是 _______ 。

A)从键盘读入一字符串 B)从键盘读入一字符C)从键盘输出一字符串 D)从键盘输出一字符4 .下面有关 for 循环的正确描述是 _______ 。

A)for循环只能用于循环次数已经确定的情况B) for循环是先执行循环语句,后判定表达式C) 在for循环中,不能用break语句跳出循环体D) for循环体语句中,可以包含多条语句,但要用花括号括起来5. 为表示关系100≥x≥10,应使用C语言表达式 __A_____ 。

A)(100>=x)&&(x>=10) B)(100>=x) AND (x>=10)C)(100>=x>=10) D)(100>=x)&(x>=10);6.定义int a; float f; double i; 表达式 15+i*f+ˊAˊ的值是 ______D_ 。

A) float B) int C) char D)double7.下列有关字符数组与字符串的说法中,正确的是 ____ 。

A)字符数组中存放的一定是一个字符串B)所有的字符数组都可以被当作字符串处理C)对存放字符串的字符数组可像一般数组一样对数组中单个元素操作D)一个字符数组可以认为就是一个字符串8 .下面程序要求从键盘上输入值并打印,请选择正确的输入方法 _____B 。

main( ){ int a,b;scanf("x=%d,y=%d",&x,&y);printf("x=%d,y=%d\n",x,y);}A)5,6 B) x=5, y=6 C)5↙6 D)5 69.为避免在嵌套的条件语句 if-else中产生二义性,C语言规定:else子句总是与 ____B___ 配对。

C语言程序设计模拟试卷

C语言程序设计模拟试卷

《C 语言程序设计》试卷语言程序设计》试卷一、选择题(60分,每题2分)分)(1)下列叙述中错误的是()。

)下列叙述中错误的是()。

A )计算机不能直接执行用C 语言编写的源程序写的源程序B )C 程序经C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件的文件是一个二进制文件C )后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件的文件是一个二进制文件D )后缀为.obj 和.exe 的二进制文件都可以直接运行可以直接运行(2)按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是()。

则,不能出现在标识符中的是()。

A )大写字母)大写字母B )连接符)连接符C )数字字符字字符D )下划线)下划线(3)以下叙述中错误的是()。

)以下叙述中错误的是()。

A )C 语言是一种结构化程序设计语言语言是一种结构化程序设计语言B )结构化程序有顺序、分支、循环三种基本结构组成种基本结构组成C )使用三种基本结构构成的程序只能解决简单问题解决简单问题D )结构化程序设计提倡模块化的设计方法(4)对于一个正常运行的C 程序,以下叙述中正确的是()。

述中正确的是()。

A )程序的执行总是从main 函数开始,在main 函数结束函数结束B )程序的执行总是从程序的第一个函数开始,在main 函数结束函数结束C )程序的执行总是从main 函数开始,在程序的最后一个函数中结束在程序的最后一个函数中结束D )程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束数开始,在程序的最后一个函数中结束 (5)若有代数式n x x e + ,(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C 语言表达式是语言表达式是( )( )( )。

A) sqrt(abs(n^x+e^x))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x)))D)sqrt(fabs(pow(x,n)+exp(x)))(6) 设有定义:int k=0; ,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

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

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

《C语言程序设计》模拟试题五一、填空题(40分)1.计算机软件分为和;C语言适合编写.2.十进制数35=( )2 =( )8 =( )163.已知一个数[X]补=11111001,求[X]原= 及X= .4.设x=2.5,a=7,y=4.7.求下列算术表达式的值.x+a%3*(int)(x+y)%2/3= .5.将算式|3-e x ln(1+Y)|写成C语言表达式 .6.设a=5,b=9.则printf(“a=%d,b=%4d”,a,b)输出为:.7.用C语句写出累加器、累乘器、计数器.8.上机操作时,CTRL+F9键的功能是,F2键的功能是 ALT+F5键的功能是.9.下列程序段对应的数学表达式是int t,n,s=0;scanf(“%d”,&n);for(i=1;i<=n;i++){ t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}10.以下程序用“顺序查找法”查找数组a中是否存在某一关键字. 请填空.main(){int a[10]={25,57,48,38,12,92,88,48,16,25};int i,x;scanf(“%d”,&X);for(i=0;i<10;i++)if (x==a[i]){printf(“Found!The index:%d\n”a[i]);(1) ;}if (2) printf(“Can not found!”);}二、单选题(15分)1.一个C程序的执行是从.A.本程序的main()函数开始,到main函数结束.B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.C.本程序的main()函数开始,到本程序文件的最后一个函数结束.D.本程序文件的第一个函数开始,到本程序main函数结束.2.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式为.main(){ int a,b,c;输入语句;printf(“%c%c%c”,a,b,c);}输入形式:A B C输出形式:ABCA.scanf(“%c%c%c”,&a,&b,&c);B.scanf(“%c,%c,%c”,&a,&b,&c);C.scanf(“%c %c %c”,&a,&b,&c);D.scanf(“%c%c”,&a,&b);3.给出下列程序的运行结果.main(){int i,j,k,x=0;for(i=2;i<=5;i++)for(j=7;j>=3;j-=2)for(k=4;k<=11;k+=4)x++;printf(“x=%d”,x);}A.x=64B. x=36C.x=60D. x=244.若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值为 . x=(i=4,j=16,k=32)A. 4B. 16C.32D.525.以下不正确if语句形式是.A.if ( x>y && x!=y );B.if ( x = = y ) x + = y;C. if ( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y);D.if (x<y) { x++; y++ ;}三、改错题(14分)1.从键盘输入20个整数,将大于-5与小于+5的数以2倍形式输出. main(){int x,i,y;for(i=1,i<=10,i++)scanf(“%d”,x);if (-5<x<5) printf(“%d”,y=2x);}2.求1-2+3-4+5-6+…-100的和.main(){int n,f,i=0;-1=f;dos=s+f*i;i++;f=-f;while(i>=100)printf(“%d”;s);}四、给出下列程序的运行结果(15分)1.main(){int a,b,c,s,w,t;s = w = t = 0;a= -1; b= 3; c= 5;if (c>0) s=a+b;if (a<=0){ if (b>0)if (c<=0) w=a-b;}else if (c>0) w=a-b;else t=c;printf(“%d %d %d”,s,w,t);}2. #include <stdio.h>main(){ int i=5;char a[6]=“abcd”;do{ a[i]=a[i-1];--i;}while(i>0);puts(a);}3. main(){ int i,a[50];for(i=1;i<=10;i++){i=i*i;a[i]=i;printf(“%d ”,a[i]); }}五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。

《C程序设计基础》模拟考试题(含答案)

《C程序设计基础》模拟考试题(含答案)

《C程序设计基础》模拟考试题一、选择题(每题2分。

共23道选择题)1、关于C程序的叙述,错误的说法是(B)A、C程序总是从主函数开始执行B、C程序中定义的第一个函数是主函数C、在主函数中可以调用其他函数D、一个C程序可以包括多个函数2、C语言的基本数据类型包括(A)A、charB、s tructC、s tringD、typedef3、C语言的关键字是(A)A、whileB、p rintfC、m ainD、FILE4、错误的C标识符是(D)A、e2B、n ame_C、A_BD、2e5、在下列运算中,优先级最低的运算符是(B)A、= =B、=C、&&D、+6、设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c + 6 - 14%c的值是(B)A、6B、7C、8D、97、下列一维数组说明中,错误的是(C)A、int a[]={1,2,3};B、int a[5];C、int n=5, a[n];D、int a[5]={1,2,3};8、执行语句:printf(“a\nb”)输出的结果是(C)A、a\nbB、abC、第一行输出a,第二行输出bD、不能输出9、要表示年龄(age)在18到25之间,正确的表达式是(B)A、18<=age<=25B、18<=age && age<=25C、18<=age || age<=25D、18<=age and age<=2510、设有定义int a,*p;下列赋值语句中,正确的是(B)A、p=a;B、p=&a;C、p=*a;D、*p=&a;11、若已经定义char a[10]={“abcd”}, *p=a;则表达式*(p+1)的值是(C)A、abcdB、bcdC、bD、语法错误12、若已经定义struct stu{int a,b; } student; ,则下列叙述中正确的是(B)A、stu 是结构变量B、student 是结构变量C、student 是结构类型D、a和b是结构型变量13、设有定义int a[10], *p=a; 下列对数组元素a[1]的引用中,错误的是(B)A、p[1]B、*(++a)C、*(++ p)D、*(a+1)14、下列叙述中,错误的是(D)A、不同函数中可以使用相同的变量名B、全局变量和局部变量可以同名C、形式参数是局部变量D、main() 函数中定义的变量在整个程序中都可15、设有函数定义:void p(int x){printf(“%d”, x);} 则正确的函数调用是(A)A、p(3);B、a=p(3);C、printf("%d"; p(3));D、p(int x);16、有如下程序段union u{int a; int b; float c;}vu; vu.a=1; vu.b=2; vu.c=3;则vu.a的值是(D)A、1B、2C、3D、以上都不对17、设有如下定义:int x=2 ,y; int fun(int *a){return *a+1;}下列函数调用中,实际参数正确的是(B)A、y=fun(x);B、y= fun (&x);C、y=fun(*x);D、y=fun(a);18、设有宏定义#define N 3+2,则语句printf(“%d”, N*N);的输出结果为(A)A、11B、25C、10D、3;519、执行scanf(“%d+%d”,&a,&b);时,正确的键盘输入是(C)A、3,5B、3 5C、3+5D、3;520、执行if(a<=b){a=b;b=a;}else{a++;++b;}语句后,正确的说法是(C)A、当条件满足时变量a和b的值对换B、当条件满足时变量a和b的值不变C、当条件不满足时变量a和b的值各增加1D、当条件不满足时变量b的值增加1,a不增加21、设已定义int a=3, b=4; 执行if(a=b)printf(“aaa\n”);else printf(“bbb\n”);语句后,正确的说法是(A)A、输出aaaB、输出bbbC、编译时会出错D、运行时会出错22、设有说明语句int x=1, y=2; 则执行表达式x=y= = 3后,变量x的值是(A)A、0B、1C、2D、323、已定义float f=1.2;执行语句printf(“%d\n”,f);正确的说法是(D)A、输出 1.2B、输出 1C、语法错误D、可以输出,但不是1.2和1二、阅读题。

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语言程序设计模拟试卷及答案

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

计算机科学类专业《C语言程序设计》模拟考试试卷(满分100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1、下列选项中,合法的C语言标识符是()。

A)my_name B)$234 C)my name D)23b2、以下程序的输出结果是()。

void main(){int x,y;float z;x=2; y=10;z=x/y;printf("%f",z);}A)0.200000 B)0.2 C)0.000000 D)03、C语言规定,简单变量做实参时,它与对应形参之间的数据传递是()。

A)地址传递 B)只能把实参的值单向传递给形参C)由用户指定传递方式 D)由实参传给形参,再由形参传回给实参4、有以下程序段int m=0,n=0; char c;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);程序输出结果是:1,X,2。

则从键盘上可能的输入是()。

A)1X2<回车> B)1 X 2<回车>C)1,X,2<回车> D)1<回车>X<回车>2<回车>5、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()。

A)int a,b,c; a=b=c=5; B)int a=5,b=5,c=5;C)int a=5;b=5;c=5; D)int a=5,b=a,c=b;6、设变量n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.07、以下程序段的功能是计算一个整数的各位数字之和,请选择填空。

C程序设计模拟试题4

C程序设计模拟试题4

C程序设计模拟试题4C程序设计模拟试题4C程序设计》模拟试题四⼀、单项选择题(每⼩题2分,第15题4分,共40分)。

1. C++语⾔是先进的程序设计语⾔,具有以下的特点【①】。

①⾯向对象、封装性、继承性、多态性②⾯向过程、封装性、继承性、多态性③⾯向对象、封装性、继承性、稳定性④⾯向过程、封装性、继承性、多元性2. C语⾔中最简单的数据类型包括【】①整型,实型,逻辑型②整型,实型,空类型③整型,实型,字符型④整型,实型,指针型3. 以下不正确的C语⾔标识符是【】。

① ABC123 ② _123abc③ a_bc123 ④ 123abc4. 软件是所有程序、数据和⽂档资料的总和,计算机软件可分为【③】。

①商业软件、应⽤软件②⼯具软件、应⽤软件③系统软件、应⽤软件④系统软件、⼯具软件5. 以下不是结构化程序设计的基本结构的是【】。

①选择结构②逻辑结构③循环结构④顺序结构6. 如下程序的执⾏结果是【】。

main(){int n=1;n++;printf(“%d %d %d “,n,n++,--n);}①1 1 1 ②2 2 2 ③2 3 2 ④2 2 17. 循环语句while(!E);中的表达式!E等价于【】。

① E!=0 ②E!=1 ③E==0 ④ E==18. 设int m=1,n=2,则++m==n的结果是【】。

①1 ②0 ③2 ④39. 如果变量定义有:int a=10,c=9;则表达式(--a!=c++)?—a:++c的值为【】。

①10 ②11 ③8 ④910. 设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型是【】。

①int ②float ③double ④不确定11. 以下程序的执⾏结果是【】。

main(){int a=2,i;for(i=0;i<3;i++)printf(“%d,”,func(a));}func(int a){int b=0;static c=3;b++;c++;return(a+b+c);}①777 ②7,7,7 ③789 ④7,8,9,12. 有如下输⼊语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a 的值为1,b的值3,c的值为2,从键盘输⼊数据的正确形式应是【】。

c程序设计模拟试题

c程序设计模拟试题

c程序设计模拟试题C程序设计模拟试题一、选择题(每题2分,共20分)1. 以下哪个选项是C语言的基本数据类型?- A. int- B. String- C. List- D. Object2. C语言中,以下哪个是合法的变量名?- A. 2variable- B. variable2- C. variable-variable- D. $variable3. 以下哪个语句用于在C语言中声明一个整型变量? - A. define intVar 10;- B. declare int intVar;- C. int intVar;- D. var intVar;4. 以下哪个函数是C语言标准库中用于输入的函数? - A. printf()- B. scanf()- C. gets()- D. puts()5. 在C语言中,以下哪个操作符用于计算两个数的和? - A. +- B. -- C. *- D. /6. 以下哪个是C语言中正确的循环结构?- A. do-while- B. for-while- C. while-do- D. do-for7. 在C语言中,以下哪个关键字用于定义一个函数? - A. function- B. define- C. method- D. void8. 以下哪个不是C语言中的错误处理机制?- A. assert- B. try-catch- C. perror- D. exit9. 在C语言中,以下哪个不是结构体成员访问的语法? - A. .member- B. ->member- C. member- D. (*ptr).member10. 在C语言中,以下哪个不是数组的初始化方式?- A. int arr[] = {1, 2, 3};- B. int arr[3] = 1;- C. int arr[3] = {0};- D. int arr[3] = {1, 2};二、填空题(每空2分,共20分)1. 在C语言中,`printf("%d", value);` 用于输出一个整型变量的值,其中 `%d` 是一个______。

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

《C程序设计》模拟试卷一、单项选择题(每题2分,共40分):1.以下叙述中正确的是________。

A)用C程序实现的算法可以既没有输入也没有输出。

B)用C程序实现的算法可以没有输入但必须有输出。

C)用C程序实现的算法可以没有输出但必须有输入。

D)用C程序实现的算法必须要有输入和输出操作。

2.以下4组用户定义的标识符中,全部合法的一组是________。

A)_main B)If C)txt D)inteneclude -main REAL k_2sin turbo 3COM _0013.有以下程序:#include <stdio.h>void main(){ int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%d\n”,m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值是456,p中的值是789,则正确的输入是________。

A)m=123n=456p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 7894.有以下程序:#include <stdio.h>void main(){ int x=102,y=012;printf(“%2d,%2d\n”,x,y);}执行后输出的结果是________。

A)10,01 B)02,12 C)102,10 D)02,105.有以下程序:#include <stdio.h>void main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf(“%d”,d++ +1);elseprintf(“%d”,++d +1);printf(“%d\n”,d);}程序运行后的输出结果是_____。

A)44 B)43 C)3 D)26.有以下程序:#include <stdio.h>void main(){ int i;for(i=0;i<3;i++)switch(i){ case 0: printf(“%d”,i);case 2: printf(“%d”,i);default: printf(“%d”,i);}}程序运行后输出的结果是________。

A)02211 B)021021 C)000122 D)012 7.有以下程序:#include <stdio.h>void main(){ int x[3][2]={0},i;for(i=0;i<3;i++) scanf(“%d”,x[i]);printf("%3d%3d%3d\n",x[0][0],*(*(x+0)+1),*(*(x+1)));}若运行时输入:2 4 6<回车>,则输出的结果是________。

A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6 8.有以下程序:#include <stdio.h>void main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}程序运行后输出的结果是________。

A)16 B)10 C)8 D)69.对于说明和语句:int c[4][5],(*p)[5];p=c;,以下能正确引用c数组元素的是________。

A)p+1 B)*(p+3) C)*(p+1)+3 D)*(p[0]+3) 10.设函数fun的定义形式为:void fun(char ch,float x) {……}则以下对函数fun的调用语句中,正确的是________。

A)fun(“abc”,3.0)B)t=fun(…D‟,16.5)C)fun(…65‟,2.8)D)fun(32,32) 11.有以下程序:#include <stdio.h>int a=2;int f(int *a){ return (*a)++; }void main(){ int s=0;{ int a=5; s+=f(&a); }s+=f(&a);printf("%d\n",s); }执行后输出的结果是。

A)10 B)9 C)7 D)812.有以下程序:#include <stdio.h>int fun(char p[][10]){ int n=0,i;for(i=0;i<7;i++)if(p[i][0]=='T') n++;return n;}void main(){ char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf("%d\n",fun(str));}程序运行后的输出结果是________。

A)1 B)2 C)3 D)013.有以下程序:#include <stdio.h>void main(){ char p[]={…a‟,‟b‟,‟c‟},q[10]={…a‟,‟b‟,‟c‟};printf("%d %d\n",strlen(p),strlen(q));}以下叙述中正确的是________。

A)在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都是3。

B)由于p数组没有字符结束符,试试不能确定,但q数组中字符长度为3。

C)由于q数组没有字符结束符,试试不能确定,但p数组中字符长度为3。

D)由于p和q数组都没有字符结束符,故长度都不能确定。

14. 有以下程序:#include <stdio.h>#define P 3#define F(int x) P*x*xvoid main(){ printf("%d\n",F(3+5));}程序运行的输出结果是________。

A)192 B)29 C)25 D)编译出错15.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是_________。

A)c1^c2 B)c1&c2 C)~c2 D)c1|c216.以下叙述中正确的是_________。

A)全局变量的作用域一定比局部变量的作用域范围大。

B)静态(static)类型变量的生存期贯穿于整个程序的运行期间。

C)函数的形参都属于全局变量。

D)未在定义的语句中赋初值的auto变量和static变量的初值都是随机值。

17.设有以下语句:typedef struct S{ int g; char h;} T;则下面叙述中正确的是_________。

A)可以用T定义结构体变量B)可以用S定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量18.有以下程序段:struct st{ int x; int *y;}*pt;int a[]={1,2},b[]={3,4};struct st c[2]={10,a,20,b};pt=c;以下选项中,表达式的值为11的是_________。

A)*pt->y B)pt->x C)++pt->x D)(pt++)->x19.若有以下说明和定义:union dt{ int a; char b; double c;}data;以下叙述中错误的是________。

A)data的每个成员起始地址都相同。

B)变量data所占内存字节数与成员c所占内存字节数相等。

C)程序段:data.a=5;printf(“%f\n”,data.c);输出结果为5.000000 .D)data可以作为函数的实参。

20.以下叙述中正确的是________。

A)C语言中的文件是流式文件,因此只能顺序存取数据。

B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖。

C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据。

D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失。

二、程序阅读题(每题3分,共30分):1.下列程序的运行结果是________。

#include<stdio.h>void main(){ char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf("%d %f\n",n,x); }2.下列程序的功能是________。

#include <stdio.h>void main( ){ char c;scanf("%c",&c);if('0'<=c&&c<='9'){ c=c-'0';printf("c=%d\n",c);}else printf("data error!\n");}3.下列程序的功能是________。

#include <stdio.h>void main( ){ int i,n,s=1;printf("Please enter n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d! = %d\n",n,s);}4.函数fun定义如下,此函数的功能是________。

void fun(char A[ ],int n){ char tmp;int k;for (k=0; k<n/2; k++){ tmp=A[k]; A[k]=A[n-k-1]; A[n-k-1]=tmp; } }5.下列程序的功能是________。

#include <stdio.h>#include <math.h>void main( ){ int i,x;printf("Enter a Number:\n");scanf("%d",&x);for(i=2;i<(int)sqrt(x);i++){if(x%i==0) break;}if(i==x) printf("YES\n");else printf("NO\n");}6.以下程序的运行结果是。

相关文档
最新文档