c语言 模拟考试题

上传人:xzh****18 文档编号:34567249 上传时间:2018-02-25 格式:DOC 页数:50 大小:234.50KB
返回 下载 相关 举报
c语言 模拟考试题_第1页
第1页 / 共50页
c语言 模拟考试题_第2页
第2页 / 共50页
c语言 模拟考试题_第3页
第3页 / 共50页
c语言 模拟考试题_第4页
第4页 / 共50页
c语言 模拟考试题_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《c语言 模拟考试题》由会员分享,可在线阅读,更多相关《c语言 模拟考试题(50页珍藏版)》请在金锄头文库上搜索。

1、 C语言 模拟试题选择题(1)1.若有下列定义:char c3,*pc=c; 则对 c数组元素地址的正确引用是:A. &c3B. pc3C. pc+2D. &c2.执行语句 printf(“%dn”,strlen(“abcx41n”);输出结果是:A. 5B. 7C. 3D. 43设有下列程序段,则 scanf函数调用语句中对结构体变量成员的不正确引用为:struct studentchar name20;int age;char sex; stu5, *p;p=stu;A. scanf(%s, stu0.name); B. scanf(%d, p-age);C. scanf(%c, D. s

2、canf(%d, 4若有定义:int b=7;float a=2.5,c=4.7;则表达式 a+(int)(b/3*(int)(a+c)/2)%4的值为:A. 0B. 1C. 2 D. 35若有定义:int a34=1,2,0,4,6,8,10;则执行此语句后,a21得到的初值是:A. 4B. 2C. 6D. 86若有 int a=1,b=4,c=3,d=2;语句,则执行完该语句后,条件表达式 ab)? a:b;B. c=(ab)?a:b; C. c=if(ab)a else b;D. (a5) printf(%dn,m);else printf(%dn, m-);A. 4B. 5C. 6D.

3、 719以下程序的运行结果是:#include stdio.hmain()int a3=1,2,3,4,5,6,0;printf(%d,%d,%dn,a11,a21,a31); A. 3,2,1B. 5,0,0C. 4,1,0D. 1,5,020下面程序的运行结果是:#include stdio.hmain()int a10=2,4,6,8,10,12,14,16,18,*p;p=a+5;printf (%d,%dn,*(p+1),*+p+1); A. 16,15B. 14,16C. 16,18D. 15,1421以下程序的输出结果是:#include stdio.hfun2( int a,i

4、nt b) int c;c=a*b%3; return c;fun1(int a,int b) int c;a+=a;b+=b;c=fun2(a,b);return c*c;main() int x=11,y=19;printf(%dn, fun1(x,y);A. 3B. 5C. 4D. 622以下程序运行后的输出结果是?#include stdio.h#define SQR(x) x*xmain() int a,k=3;a=+SQR(k+1);printf(%dn,a); A. 7B. 8C. 9D. 1023执行语句 for(i=10;i0;i-);后,变量 i的值为:A. 10B. 0C

5、. 9D. 124下列 i,j,k 均为整型变量,选项中不正确的 C语言赋值语句是:A. i+1=k; B. i=j=k=1; C. i=j+=+k;D. j=i+1=i+;25设有语句 int a10=0,l,2,3,4,5,6,7,8,9,*p=a;则不能对 a数组元素的正确引用是:A. ap-aB. *(*(a+5)C. p5 D. *(a5)26已有定义:char a=xyz,b=x,y,z;,以下叙述中正确的是:A. 数组 a和 b的元素个数相同B. a数组元素少于 b数组C. a数组元素多于 b数组D. 上述说法都不对27以写方式打开二进制文件 my.dat的正确写法是:A. fo

6、pen(“my.dat”,”rb”);B. fopen(“my.dat”,”r”);C. fopen(“my.dat”,”wb”);D. fopen(“my.dat”,”w”);28对于定义struct saint x;float y;data,*p=请从下列候选答案中,选择变量 data的 x成员的正确引用:A. (*p).dataB. (*p).xC. p-data.xD. p.data.x29循环语句的循环体中执行 continue语句,其作用是:A. 立即终止程序执行B. 继续执行 continue语句之后的循环体各语句C. 结束本次循环D. 跳出循环30定义 float a;现要从键

7、盘输入 a的数据,其整数位为 3位,小数位为 2位,则选用:A. scanf(“%f”,B. scanf(“%5.2f”,a);C. scanf(“%6.2f”,D. scanf(“%f”,a);选择题(2)1.以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x)C. C语言函数不可以单独编译D. C语言中除了 main函数,其他函数不可作为单独文件形式存在2以下关于 C语言的叙述中正确的是A. C语言中的注释不可以夹在变量名或关键字的中间B. C语言中的变量可以在使用之前的任何位置进行定义C. 在 C语言算术表达式的书写中,运算符两侧的

8、运算数类型必须一致D. C语言的数值常量中夹带空格不影响常量值的正确表示3以下 C语言用户标识符中,不合法的是A. _1 B. AaBcC. a_bD. a-b4若有定义:double a=22;int i=0,k=18;,则不符合 C语言规定的赋值语句是A. a=a+,i+;B. i=(a+k)main() char a,b,c,d; scanf(%c%c,c=getchar(); d=getchar();printf(%c%c%c%cn,a,b,c,d);当执行程序时,按下列方式输入数据:(代表回车)1234则输出结果是A. 1234B. 12C. 123D. 12346以 i关于 C语言

9、数据类型使用的叙述中错误的是A. 若要准确无误差的表示自然数,应使用整数类型B. 若要保存带有多位小数的数据,应使用双精度类型C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型7若 a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是A. 1B. 0C. 2D. 不知道 a的值,不能确定8以下选项中与 if(a=1)a=b; else a+;语句功能不同的 switch语句是A. switch(a)case:a=b;break;default:a+;B. switch(a=1)case 0:a=b;break;c

10、ase 1:a+;C. switch(a)default:a+;break;case 1:a=b;D. switch(a=1)case 1:a=b;break;case 0:a+;9有如下嵌套的 if语句if (amain()int i,j,m=1;for(i=1;i0;j-)if(i*j)3)break;m=i*j;printf(m=%dn,m);程序运行后的输出结果是A. m=6B. m=4C. m=2D. m=512有以下程序#includemain()int a=l,b=2;for(;amain()int k=011;printf(%dn,k+);程序运行后的输出结果是A. 12B.

11、11C. 10D. 914以下关于 return语句的叙述中正确的是A. 一个自定义函数中必须有一条 return语句B. 一个自定义函数中可以根据不同情况设置多条 return语句C. 定义成 void类型的函数中可以有带返回值的 return语句D. 没有 return语句的自定义函数在执行结束时不能返回到调用处15下列语句组中,正确的是A. char *s;s=Olympic;B. char s7;s=Olympic;C. char *s;s=Olympic;D. char s7;s=Olympic;16下列选项中,能正确定义数组的语句是A. int num0.2008; B. int

12、num;C. int N=2008;int numN;D. #define N 2008int numN;17有以下程序#include void fun(char *c,int d) *c=*c+1;d=d+1;printf(%c,%c,*c,d);main()char b=a,a=A;fun(程序运行后的输出结果是A. b,B,b,AB. b,B,B,AC. a,B,B,aD. a,B,a,B18若有定义 int(*Pt)3;,则下列说法正确的是DA. 定义了基类型为 int的三个指针变量B. 定义了基类型为 int的具有三个元素的指针数组 ptC. 定义了一个名为*pt、具有三个元素的整

13、型数组D. 定义了一个名为 pt的指针变量,它可以指向每行有三个整数元素的二维数组19设有定义 double a10,*s=a;,以下能够代表数组元素 a3的是A. (*s)3B. *(s+3) C. *s3D. *s+320有以下程序#includemain()int a5=1,2,3,4,5,b5=0,2,1,3,0,i,s=0;for(i=0;imain()int b33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i#define N 8void fun(int *x,int i)*x=*(x+i);main()int aN=1,2,3,4,5,6,7,8,i;

14、fun(a,2);for(i=0;iint f(int t,int n);main()int a4=1,2,3,4,s;s=f(a,4); printf(%dn,s);int f(int t,int n) if(n0) return tn-1+f(t,n-1);else return 0;程序运行后的输出结果是A. 4B. 10C. 14D. 625有以下程序#include int fun() static int x=1;x=x*2; return x;main()int i,s=1;for(i=1;i#define SUB(a) (a)-(a)main() int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(%dn,d);程序运行后的输出结果是A. 0B. -12C. -20D. 1027设有定义:struct complex int real,unreal; data1=1,8,data2;则以下赋值语句中错误的是A. data2=data1;B. data2=(2,6)C. data2.real=data1.real;D. data2.real=data1.unreal;28有以下程序#include #include struct A int a; char b10; do

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 高中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号