题号1.以下选项中,能用作用户标识符的是(C)。
A:void
B:8_8
C:_0_
D:unsigned
题号2...选择题A:(1分,正确答案A,学生答案* )
阅读以下程序
#include
main()
{int case; float printF;
printf ("请输入2 个数:");
scanf ("%d %f", &case, &printF);
printf ("%d %f\n", case, printF);
}
该程序在编译时产生错误,其出错原因是()。
A:定义语句出错,case 是关键字,不能用作用户自定义标识符B:定义语句出错,printF 不能用作用
户自定义标识符
C:定义语句无错,scanf 不能作为输入函数使用
D:定义语句无错,printf 不能输出case 的值
题号3...选择题A:(1分,正确答案B,学生答案B )
表达式:(int)((double)9/2)-(9)%2 的值是()。
A:0
B:3
C:4
D:5
题号4...选择题A:(1分,正确答案B,学生答案D )
若有定义语句:int x=10;,则表达式x-=x+x 的值为()。
A:-20
B:-10
C:0
D:10
题号5...选择题A:(1分,正确答案D,学生答案* )
有以下程序
#include
main()
{
int a=1, b=0;
printf ("%d,", b=a+b);
printf ("%d\n", a=2*b);
}
程序运行后的输出结果是()。
A:0,0
B:1,0
C:3,2
D:1,2
题号6...选择题A:(1分,正确答案A,学生答案* )
有以下程序
#include
main()
{
int c=0, k;
for(k=1; k<3; k++)
switch (k)
{
default: c+=k;
case 2: c++; break;
case 4: c+=2; break;
}
printf("%d\n", c);
}
程序运行后的输出结果是()。
A:3
B:5
C:7
D:9
题号7...选择题A:(1分,正确答案B,学生答案A )
当需要定义一个函数时,以下标识符中,()不能用作函数名。
A:scanf
B:for
C:_sum
D:F2
题号8...选择题A:(1分,正确答案D,学生答案* )
已有声明语句"unsigned char ch;",与表达式"ch='B'"的值不相同的表达式是()。(注释:字符A的Ascii码以十进制表示为65)
A:ch=0x42
B:ch=0102
C:ch='\102'
D:ch=066
题号9...选择题A:(1分,正确答案C,学生答案* )
若要对a进行++运算,则a应具有以下说明()。
A:int a[3][2];
B:char *a[]={"12","ab"};
C:int b[10],*a=b;
D:char (*a)(char);
题号10...选择题A:(1分,正确答案B,学生答案* )
以下对于break语句使用的正确描述是()。
A:可以出现在程序中的任何位置
B:只能出现在循环或switch结构中
C:只能出现在switch结构中
D:只能出现在循环结构中
题号11...选择题A:(1分,正确答案B,学生答案* )
若有声明语句"int a=5,b=4,c=3,*p=&a;",则下列()表达式语句是正确的。
A:(*p)++=c;
B:printf(a%4==0?"%3d\n":"%3d",*p);
C:*(*p)++;
D:a>20?return *p-20:return *p-1;
题号12...选择题A:(1分,正确答案A,学生答案* )
设int x=2,y=3,z=(++x<=y--)?((--y==1)?y--:--y):y--; 则x,y,z的值为()。
A:3,0,1
B:2,0,0
C:3,1,1
D:2,2,1
题号13...选择题A:(1分,正确答案B,学生答案* )
在定义任何一个函数时,下列选项中,()是不可缺少的。
A:函数名之前的数据类型
B:函数名之后的一对圆括号
C:形式参数声明
D:函数体内的语句
题号14...选择题A:(1分,正确答案D,学生答案* )
已知某程序如下:
float p=1.5;
#define p 2.5
main()
{printf("%f",p);}
则main函数中标识符p代表的操作数是()。
A:float型变量
B:double型变量
C:float型常量
D:double型常量
题号15...选择题A:(1分,正确答案A,学生答案* )
已有声明"int s[2][3]",以下选项中()正确地引用了数组s中的基本元素。
A:s[1>2][!1]
B:s[2][0]
C:s[1]
D:s
题号16...选择题A:(1分,正确答案C,学生答案* )
若有声明"int a [5],*b=a,(*c)[3],*d[3];",则在以下表达式中有语法错误的是()。
A:a[0]=0
B:b[0]=0
C:c[0]=0
D:d[0]=0
题号17...选择题A:(1分,正确答案C,学生答案* )
以下跳转语句中,只有()可以选择不唯一的跳转目的地。
A:continue;
B:break;
C:goto 标识符;
D:return;
题号18...选择题A:(1分,正确答案A,学生答案* )
一个用c语言编写的程序,()是必不可少的。
A:取名为main的函数定义
B:#include
C:变量声明
D:注释
题号19...选择题A:(1分,正确答案D,学生答案* )
以下声明中正确的是()。
A:int n=2,a[n]={10};
B:int n=10,*p[2]=&n;
C:int n=10,a[2]={n};
D:int a[2][2]={10},(*p)[2]=a+1;
题号20...选择题A:(1分,正确答案B,学生答案* )
若有函数fun的定义为
void fun(…)
{static int a=1;
...
}
则下列叙述中不正确的是()。
A:在每次调用fun函数时,变量a的值是上次调用结束时a的值
B:在fun函数之外,可以用变量名a直接
引用a的值
C:在其他函数中,可以出现声明double a=2.5;
D:fun函数的形式参数不能取名为a
题号21...选择题A:(1分,正确答案D,学生答案* )
以下单目运算符均只需一个操作数,其中要求操作数的类型只能是指针型的是()。
A:&
B:++
C:!
D:*
题号22...选择题A:(1分,正确答案D,学生答案* )
C语言规定,在一个源程序中main函数的位置()。
A:必须在最开始
B:必须在最后
C:必须在预处理命令的后面
D:可以在其他函数之前或之后
题号23...选择题A:(1分,正确答案D,学生答案B )
以下选项中,()是C语言关键字。
A:printf
B:include
C:fun
D:default
题号24...选择题A:(1分,正确答案A,学生答案* )
已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为()。
A:0
B:3
C:3.5
D:4
题号25...选择题A:(1分,正确答案B,学生答案* )
设指针变量占2个字节的内存空间,若有声明"char *p="123";int c;",则执行语句"c=sizeof(p);"后,
c的值为( )。
A:1
B:2
C:3
D:4
题号26...选择题A:(1分,正确答案C,学生答案* )
已知有声明"int a=3,b=4;",下列表达式中合法的是()。
A:a+b=7
B:a=|b|
C:a=b=0
D:(a++)++
题号27...选择题A:(1分,正确答案D,学生答案* )
已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是()。
A:s="Good";
B:s[20]="Good";
C:strcat(s,"Good");
D:strcpy(s,"Good");
题号28...选择题A:(1分,正确答案B,学生答案* )
已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为()。
A:3
B:3.0
C:3.89
D:4.0
题号29...选择题A:(1分,正确答案C,学生答案A )
已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( )。
A:3,1
B:15,12
C:15,1
D:3,12
题号30...选择题A:(1分,正确答案B,学生答案* )
已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是()。
A:printf("%d",32768);
B:printf("%ld",32768);
C:printf("%f",32768);
D:printf("%c",32768);
题号31...选择题A:(1分,正确答案D,学生答案* )
已知有声明"int a=3,b=4,c=5;",以下表达式中值为0的是()。
A:a&&b
B:a<=b
C:a||b&&c
D:!(!c||1)
题号32...选择题A:(1分,正确答案C,学生答案B )
已知有声明"long x,y;"且x中整数的十进制表示有n位数字(4 掉整数x十进制表示中的最高位,用剩下的数字组成一个新的整数并保存到y中, 则以下表达式中能正确实现这一功能的是()。 A:y=x/(10*(n-1)) B:y=x%(10*(n-1)) C:y=x%(long)pow(10,n-1) D:y=x%(10^(n-1)) 题号33...选择题A:(1分,正确答案B,学生答案B ) 已知有声明"int m[]={5,4,3,2,1},i=0;",下列对m数组元素的引用中,错误是()。 A:m[++i] B:m[5] C:m[2*2] D:m[m[4]] 题号34...选择题A:(1分,正确答案C,学生答案* ) 下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A:5 B:1 C:0 D:不确定值 题号35...选择题A:(1分,正确答案B,学生答案* ) 假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A:7 B:8 C:9 D:2 题号36...选择题A:(1分,正确答案B,学生答案* ) 设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A:125,31,1 B:125,1,20 C:125,31,20 D:125.534,2,20 题号37...选择题A:(1分,正确答案C,学生答案* ) 设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A:循环执行一次 B:循环是无限循环 C:循环体语句一次也不执行 D:循环体语句执行一次 题号38...选择题A:(1分,正确答案A,学生答案* ) 以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++)printf("%c",'*'); printf("\t"); } main( ) {for(i=5;i<=8;i++) prt( ); } A:*** B:*** *** *** *** C:*** *** D:* * * 题号39...选择题A:(1分,正确答案A,学生答案* ) 以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5 D:语法错误 题号40...选择题A:(1分,正确答案D,学生答案* )C语言中的文件类型只有()。 A:索引文件和文本文件两种 B:文本文件一种 C:二进制文件一种 D:ASCII码文件和 二进制文件两种 题号41...选择题B:(2分,正确答案D,学生答案* ) 有以下程序 #include main() {int n=2,k=0; while (k++ &&n++>2); printf("%d %d\n",k,n); } 程序运行后的输出结果是()。 A:0 2 B:1 3 C:5 7 D:l 2 题号42...选择题B:(2分,正确答案D,学生答案* ) 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。 #define MIN -2147483647 int findmax (int x[],int n) {int i,max; for(i=0;i {max=MIN; if(max return max; } 造成错误的原因是()。 A:定义语句int i,max;中max 未赋初值 B:赋值语句max=MIN;中,不应给max 赋MIN 值 C:语句if(max D:赋值语句max=MIN;放错了位置 题号43...选择题B:(2分,正确答案D,学生答案A ) 下面是有关C 语言字符数组的描述,其中错误的是()。 A:不可以用赋值语句给字符数组名赋字符串 B:可以用输入语句把字符串 整体输入给字符数组 C:字符数组中的内容不一定是字符串 D:字符数组只能存放字符串 题号44...选择题B:(2分,正确答案C,学生答案* ) 有以下程序 # include int f(int n); main() {int a=3,s; s=f(a);s=s+f(a);printf("%d\n",s); } int f(int n) {static int a=1; n+=a++; return n; } 程序运行后的输出结果是()。 A:7 B:8 C:9 D:10 题号45...选择题B:(2分,正确答案B,学生答案* ) 下面结构体的定义语句中,错误的是()。 A:struct ord {int x; int y; int z;}; struct ord a; B:struct ord {int x; int y; int z;} struct ord a; C:struct ord {int x; int y; int z;}a; D:struct {int x; int y; int z;} a; 题号46...选择题B:(2分,正确答案A,学生答案D ) 设有定义:char *c;,以下选项中能够使字符型指针c 正确指向一个字符串的是(A)。 A:char str[]="string";c=str; B:scanf("%s",c); C:c=getchar(); D:c=*string"; 题号47...选择题B:(2分,正确答案D,学生答案* ) 有以下程序 #include #include struct A {int a; char b[10]; double c;}; struct A f(struct A t); main() {struct A a={1001,"ZhangDa",1098.0}; a=f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c); } struct A f(struct A t) {t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;return t;} 程序运行后的输出结果是()。 A:1001,ZhangDa,1098.0 B:1002,ZhangDa,1202.0 C:1001,ChangRong,1098.0 D:1002,ChangRong,1202.0 题号48...选择题B:(2分,正确答案D,学生答案* ) 下列程序段执行后的结果为()。 main() { static int a[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2]; for(x=0;x<3;x++) y+=*(p-4*x); printf("\n%d",y); } A:45 B:33 C:17 D:27 题号49...选择题B:(2分,正确答案B,学生答案* ) 设有定义如下; typedef stuct{int x,y;}pOINT; typedef enum{RED,YELLOW,BLUE,GREEN}COLOR; struct {pOINT xy;COLOR c;}pixel,*p=&pixel; 以下对变量pixel的赋值操作中正确的是( )。 A:pixel={1,2,BLUE}; B:p->xy.x=1;p->xy.y=2; p->c=BLUE; C:scanf("%d%d%d",p->xy.x,p->xy.y,&pixel.c); D:pixel.color=2; 题号50...选择题B:(2分,正确答案C,学生答案* ) 执行了以下程序段后,x、w的值为()。 int x=0,y=1,z=2,w; if(x++) w=x; else if(x++&y>=1) w=y; else if(x++&&z>1) w=z; A:0、1 B:1、1 C:2、1 D:3、2 题号51...选择题B:(2分,正确答案B,学生答案* ) 已有数据类型定义和变量声明如下: struct person {int num; char name[20],sex; strrut{int cla ;char prof[20];}in; }a={20,"Li ning",'M',{5,"computer"}},*p=&a; 下列语句中正确的是()。 A:printf("%s",a->name); B:printf("%s",p->in.prof); C:printf("%s",*https://www.doczj.com/doc/cd8137947.html,); D:printf("%s",p->in->prof); 题号52...选择题B:(2分,正确答案C,学生答案* ) 已有预处理命令和声明如下: #define N 10 int a=2,c=1; double b=1.2; 下述程序段正确的是()。 A:switch(a) {case c:a--;break; case c+1:a++;break; } B:switch(a) {case N>0:a=1;break; case 1:a=O;break; } C:switch(a) {case 2: b++;break; case '0': b=3; } D:switch(b) {case 1.0: b++;break; case 1.2: b=1;break; } 题号53...选择题B:(2分,正确答案C,学生答案* ) 若有以下声明和定义: void fun(int c){printf("%d",c);} main() {void(*a)(int)=fun,*b(int),(*c)(int); /*调用fun函数语句位置*/ } void *b(int c){} 如果在main函数中需要调用fun函数,以下调用语句中错误的是( )。 A:fun(1); B:(*a)(1); C:b=fun;(*b)(1); D:c=a;(*c)(1); 题号54...判断题: int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。()(对或错) 参考答案(1分)学生答案(0分) 错 题号55...判断题: 函数strlen("ASDFG\n")的值是7。()(对或错) 参考答案(1分)学生答案(0分) 错~~F 题号56...判断题: 通过return语句,函数可以带回一个或一个以上的返回值。(错)(对或错)参考答案(1分)学生答案(0分) 题号57...判断题: 用fopen("file","r+");打开的文件"file"可以进行修改。()(对或错) 参考答案(1分)学生答案(0分) 对 题号58...填空题: 若有定义语句:int a=5;,则表达式:a++的值是_____________。 参考答案(2分)学生答案(0分) 5 题号59...填空题: 若有语句double x=17; int y;,当执行y=(int)(x/5)%2;之后y 的值为_________ 。参考答案(2分)学生答案(0分) 1 题号60...填空题: 有以下程序 #include main() {int f,f1,f2,i; f1=0; f2=1; printf("%d,%d", f1,f2); for(i=3;i<=5;i++) {f= f1+f2; printf("%d",f); f1=f2; f2=f; } } 程序运行后的输出结果是___________。 参考答案(2分)学生答案(0分) 0,1123 题号61...填空题: 有以下程序 #include int a=5; void fun(int b) {int a=10; a+=b; printf("%d",a); } main() {int c=20; fun(c); a+=c; printf("%d",a); } 程序运行后的输出结果是________________。 参考答案(2分)学生答案(0分) 3025 题号62...填空题: 有以下程序: #include fun(int x) {if(x/2>0) fun(x/2); printf("%d", x); } main() {fun(6);} 程序运行后的输出结果是___________________ 。 参考答案(2分)学生答案(0分) 136 题号63...实验_程序填空题: 输入x、y两个整数,按先大后小的顺序输出x、y。请写出完整程序。 注意:源程序存放在blank.c中。不得增行或删行,也不得更改程序的结构! 上传完整程序代码! 参考答案(6分)学生答案(0分) #include "stdio.h" main( ) { int x,y, *px,*py,*p;//空1 scanf("%d%d",&x,&y);//空2 px=&x;//空3 py=&y;//空4 if(x printf("x=%d,y=%d,",x,y); printf("MAX=%d,MIN=%d",*px,*py); } 题号64...实验_程序修改题: 给定程序modi.c中fun函数的功能是:根据形参m,计算如下公式的值。 例如,若输入5,则应输出2.283333。 请改正程序中的错误,使它能计算出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 上传完整程序代码! 参考答案(6分)学生答案(0分) #include double fun(int m) { double t = 1.0; int i; for(i = 2; i <= m; i++) t+=1.0/i;//错1 return t;//错2 } main() { int m; scanf("%d", &m); printf("\nThe result is %lf\n", fun(m)); } 题号65...实验_程序设计题: 编写函数fun,它的功能是计算: s作为函数值返回。 在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:double log(double x)。例如,若m的值为:20,fun函数值为:6.506583。 注意:部分源程序在文件prog.c中。 请勿改动主函数main,仅在函数fun的花括号中填入你编写的若干语句。 上传完整程序代码! 参考答案(8分)学生答案(0分) #include #include double fun(int m) { double s=0.0; int i; for(i=1; i<=m; i++)s+=log(1.0*i); s=sqrt(s); return s; } main() { int n; scanf("%d", &n); printf("%f", fun(n)); } 66..选择题A:(1分,正确答案D,学生答案D ) 以下叙述中正确的是()。 A:程序设计的任务就是编写程序代码并上机调试 B:程序设计的任务就是确定所用数据结构 C:程序设计的任务就是确定所用算法 D:以上三种说法都不完整 67..选择题A:(1分,正确答案B,学生答案B ) 表达式:(int)((double)9/2)-(9)%2 的值是()。 A:0 B:3 C:4 D:5 68..选择题A:(1分,正确答案B,学生答案B ) 若有定义语句:int x=10;,则表达式x-=x+x 的值为()。A:-20 B:-10 C:0 69. .选择题A:(1分,正确答案A,学生答案A ) 《C语言程序设计》模拟试题五 一、填空题(40分) 1.计算机软件分为和;C语言适合编 写 . 2.十进制数35=( ) 2 =( ) 8 =( ) 16 3.已知一个数[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 输出形式:ABC A.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=64 B. x=36 C.x=60 D. x=24 4.若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值 为 . x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5.以下不正确if语句形式是 . A.if ( x>y && x!=y ); B.if ( x = = y ) x + = y; C. if ( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y); 安徽农业大学经济技术学院 《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#h 5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。 A )0~255 B )0~32767 C )0~65535 D )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 )14 8.已知: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(9 5-= f c 。已知:float c,f;,由华氏温度f 求摄氏温度c 的不正确的赋值表达式是________。 A )c=5/9(f-32) B )c=5.0/9*(f-32) C )c=5*(f-32)/9 D )c=(float)5/9*(f-32) 11.一个C 程序中要调用sqrt()函数时,应在程序中包含的头文件是________。 A )stdio.h B )math.h C )string.h D )stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是________。 A )A B )65 C )97 D )出错 13.能正确表示逻辑关系“a ≥5或a ≤-1”的C 语言表达式是________。 A )a>=5.or.a<=-1 B) a>=5.and.a<=-1 C) a>=5&&a<=-1 D )a>=5‖a<=-1 《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知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) 741 9、执行下列程序段后输出的结果是()。 试卷编号:8156 所属语言:C语言 试卷方案:C语言201006模拟 试卷总分:100分 共有题型:5种 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1225 在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y 第2题(2.0分)题号:1279 循环结构while、do while、for不可以互相嵌套. 答案:N 第3题(2.0分)题号:1140 链表中的任何一个结点,必然要包括一个指针域. 答案:Y 第4题(2.0分)题号:1265 在书写C程序时,一行内只能写一条语句,一条语句也不能写在多行上. 答案:N 第5题(2.0分)题号:1280 C语言程序中用到的所有变量必须在使用之前进行定义. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:19 C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。 答案:Y 第8题(2.0分)题号:11 通过return语句,函数可以带回一个或一个以上的返回值。 答案:N 第9题(2.0分)题号:24 对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y 第10题(2.0分)题号:33 int i,*p=&i;是正确的C说明。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B 第2题(2.0分)题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A 第3题(2.0分)题号:112 下列程序的输出结果是()。 main() {char c1=97,c2=98; printf("%d %c",c1,c2); } A:97 98 B:97 b C:a 98 D:a b 答案:B 第4题(2.0分)题号:170 关于return语句,下列正确的说法是()。 《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(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}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。 一.单项选择题 1.一个C语言源程序由一个或多个( D )组成。 A.子程序B.过程C.函数D.主函数 2. 下列定义变量的语句中错误的是( C )。 A.int _int B.double int_1 C.char For D.float US$ 3.以下语句有语法错误的是( B )。 A.printf("%d",0xabc); B.printf("%f",1.234e2.0); C.printf("%d",057); D.printf("%c",'\\'); 4.若有定义int m=2,n=2;执行语句(m=0)&&(n=3);后m和n的值分别为( D )。 A.2 2 B.0 3 C.2 3 D.0 2 5.若有定义int k=4,a=3,b=2,c=1;则表达式kb) c=a,a=b,b=c; B.if(a>b){c=a,a=b,b=c;} C.if(a>b) c=a;a=b;b=c; D.if(a>b){c=a;a=b;b=c;} 10. 若变量已正确定义,要求程序段完成求10!的计算,不能完成此操作的程序段是( B )。 A.for(i=1,fac=1;i<=10;i++) fac*=i; 模拟试题二 一、选择题(本大题30分,每小题2分) 1.C语言中不能用来表示整常数的进制是。 A)十进制B)十六进制C)八进制D)二进制 2.C语言规定标识符由等字符组成。 A)字母数字下划线B)中划线字母数字 C)字母数字逗号D)字母下划线中划线 3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 4.以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。 A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后的最终结果为。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP . 6.以下if语句中语法错误的是。 A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a); else printf(“%f”,b); C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b); else printf(“%f”,b); else printf(“%f”,a); 7.能表示整数x符合下面两个条件的语句是。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 8.循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是。 A)表达式1 B)表达式2 C)表达式3 D)语句 9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。 A)地址传递B)单向值传递 C)双向值传递D)随机传递 10.将字符串str2连接到字符串str1中应使用。 A)strcpy(str1,str2) B)strcat(str1,str2) C)strcmp(str1,str2) D)strcat(str2,str1) 11.若有以下定义: int a[10],*p=a; 则*(p+3)表示的是。 A)元素a[3]的地址B)元素a[3]的值 C)元素a[4]的地址D)元素a[4]的值 12.若有如下语句: int *p1,*p2; 则其中int所指的是。 A)p1的类型B)*p1和*p2的类型 C)p2的类型D)p1和p2所能指向变量的类型 c语言程序设计教程(第2版)课后题及模拟题参考答案 习题1 1-1 填空题 1.函数 2.主函数main(),主函数main() 3.主函数main() 4.函数首部,函数体 5.{, } 6./*, */ 7.顺序结构,选择结构,循环结构 8..c, .obj, .exe 1-2 思考题 1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。其基本结构包括顺序结构、选择结构和循环结构三种。 2.算法是对具体问题求解步骤的一种描述。计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法 3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。 1-3 编程题 1. 试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。 #include "stdio.h" main() { float a, b, h, s; a=10; b=20; h=5; s=(a+b)*h/2; printf("s=%f\n" , s ); } 2. 编写程序显示如图1.11所示信息。 图1.11 显示信息 #include "stdio.h" main() { printf("******************************\n"); printf("* hello world *\n"); printf("******************************\n"); } 习题2 2-1 单选题 1~5 DBDCA 6~10 DCABA 11~12 CA 2-2 思考题 1.2.000000 2.1,0.5 3.9,2 4.6 5.100,d 6.(1)20 (2)0 (3)60 7. (1)10,6,4 (2)6,9,15 (3)3,60,83 8. 55 习题3 3-1 选择题 1-5BDABC 6-10ADCAC 11-12BB 3-2 填空题 1. 3 2.0261 3.0x10 4. 2, 1 互换a,b的值 5. 6.6 6.–003 8.7 7. 5.0,4,c=3 《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued 一.选择题 1、()是不正确的。 A、每条语句最后必须有一个分号; B、C源程序可由一个或多个函数组成; C、注释说明只能位于一条语句的后面; D、C源程序的基本组成单位是函数。 2、()是正确的叙述。 A、强制类型转换运算的优先级高于算术运算; B、表达式“m”+“M”是合法的; C、若变量X,Y为整型,则(a+b)++是合法的; D、表达式‘m’*‘n’是合法的; 3、()为正确的变量名 A. k.jeep B. int C.k_5 D. –k15 4、若有定义int m=4321, n=123, k=21; 语句printf( “%4d+%3d+%2d”,m,n,k); 执行后的输出结果是() A、4321432143211231231232121 B、432+123+021 C、432112321 D、4321+123+21 5、若定义int a= -5 , b= -8, c=21,则表达式a>=b|| b 此答案为自己所出,若有不对之处请谅解,并希望能留言 单选题(共60题,每题1分,共60分) 1. 下列符号串中,属于C语言合法标识符的个数为 (B)。 _1_2_3,a-b-c,float,9cd,a3b4 A:1 B:2 C:3 D:4 2. 下列能为字符变量 a 赋值的是:char a= (C)。 A:'ab' B:"a" C:'\0' D:"\0" 3. 在下列字符序列中,合法的标识符是(B)。 A:P12.a B:stud_100 C:$water.1 D:88sum 4. 下列用于printf函数的控制字符常量中,代表tab 的字符常量是(B)。 A:'\b' B:'\t' C:'\r' D:'\f' 5. 下列用于printf函数的控制字符常量中,代表退格的字符常量是(A)。 A:'\b' B:'\t' C:'\r' D:'\n' 6. 如有以下程序:unsigned int a=6; int b=-20; char c; c=(a+b>6); 则c的值为(C)。(int转换为unsigned ) A:6 B:-14 C:1 D:0 7. 关于C语言,以下不正确的叙述是(B)。 A:在C语言程序设计中,逗号运算符的优先级最低 B:在C语言程序设计中,var和VAR是两个相 同的变量 C:C语言也支持重载 D:此处的两个语句int a; a=-13.06;在程序编译中将会提示出错 8. 若有定义: int a=2,*p; float x=1, y=2; char e=‘w’; 则以下用法不正确的是(B)。 A:printf("%c",e+a); B:p=&x; C:a *=y+x; D:x=y=e; 9. int x=20; printf("%d\n",~x); 以上程序片段的输出是(B)。 A:235 B:-21 C:-20 D:-11 10. 在C语言中,要求运算数必须是整型的运算符是 (D)。 A:/ :题.选择一1.设float x,y;则以下不合法的赋值语句是______。 x*=y+8; x=y=0; ++x; y=(x%2)/10; 2. 设int k=017,g=111; 执行语句printf(%d,%x,k,g); 的输出是_____。 15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。 for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++); 4. 下面对数组的初始化,错误的是_____。 char s[5]=abc; char s[5]={'a','b','c'}; char s[5]= ; char s[5];s=abc; 5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。 是无限循环 while循环执行10次 循环体语句一次也不执行循环体语句只执行一 次 6. 如果x为int型且为5,则执行if(x--<5) printf(%d,x);else printf(%d,x++);后输出结果是______。 3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用 语句中,含有的实参个数是____。 3 4 5 有语法错 8. 在C语言的if语句中,可用作条件判断的表达式为_____。 算术表达式逻辑表达式 关系表达式任意表达式 9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。 n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。 调用该函数的主调函数的类型定义函数时指定或缺省 的函数类型调用函数时临时决定 return语句中表达式的类型答案:D A B D C B A D C B 二.填空题: 1.如果static int y=8;main(){ int y=3;printf(%d, y);}则输出结果是______。 2. 若int x=120,y=50; 执行printf(%d,(y,x));后输出结果是______。 3. 若int i, a[10]; 则执行语句 for(i=9;i>=0;i--) a[i]=i+5; 后,a[8]的 值为__________。 4. 在C语言中是没有输入输出语句的,而是通过提供库函数______和printf C语言模拟试题 一、单项选择题(共40分每题1分) 说明:答案必须填写在答题卡的相应位置上,否则不得分。 1.C语言中字符型(char)数据在内存中的存储形式是____D____。 A、原码 B、反码 C、补码 D、ASCII码 2.C语言中基本的数据类型包括___B_____。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 3.在C语言中,int类型数据在内存中占用____C____。 A、2字节 B、4字节 C、由编译系统决定 D、由用户决定4.运算符有优先级,C语言中关于运算符优先级的正确叙述是____B____。 A、逻辑运算符高于算术运算符,算术运算符高于关系运算符; B、算术运算符高于关系运算符,关系运算符高于逻辑运算符; C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符; D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。 5.下面关于C语言语句的叙述,错误的是___C_____。 A、C语言一行可以允许写多条语句; B、C语言语句用分号结束; C、语句一行写不下时,可以用逗号换行; D、语句一行写不下时,可在任意一空格处回车换行。 6.下面数据中不属于字符型常量的是____A____。 A、“\n” B、…\0? C、…A? D、…\t? 7.11.以下选项中,当x为大于1的奇数时,值为0的表达式______D____ 。 A、x%2==1 B、x/2 C、x%2!=0 D、x%2==0 8.C语言源程序名的后缀是____B____ 。 A 、.exe B、.C C、.obj D、.cp 9.设所有变量均为int型,则表达式(a=5,b=2,b++,a-b)的值是____D____。 A、7 B、8 C、6 D、2 10.若有说明语句:int a;float b;,以下输入语句正确的是___C_____。 A、scanf("%f%f",&a,&b); B、scanf("%f%d",&a,&b); C、scanf("%d,%f",&a,&b); D、scanf("%6.2f%6.2f",&a,&b); 11.已知int a,b; 用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是_____A___。 A、, B、空格 C、回车 D、[Tab] 12.C语言对嵌套if语句的规定是:else总是与___D___配对。 A、与之前最近的if B、第一个if C、缩进位置相同的if D、其之前最近的且尚为配对的if 13.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是___D___。 A、if(a)s1; else s2; B、if(a==0)s2; else s1; C、if(a!=0)s1; else s2; D、if(a==0)s1; else s2; C语言程序设计试题 一、单项选择题(本题共 25 小题,每小题 2 分,共 50 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡 上。错选、多选或未选均无分。 1.以下正确的 C 语言自定义标识符是 __A____。 A. _1a B. 2a_ C. do D. 2.在 C 语言中,错误的常数表示是 ___D____。 A. 0L C. '6' D. 设 int a, x=2; 执行语句 a=x>03*x:x=10 ;后,变量x 的值是 ___B____。 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 ,由键盘输入: , 能正确读入数据的输入语句是 ___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. 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>0x:-x C. x<0x:-x D. x<0-x:-x 11.执行下面的程序段后, k 的值是 __A_____B。 int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 12. 表达式的值为0 的是 ________C_。 A. 5/5%5 B. 5>2 C. !4 D. 0x7&&7 13. 设 int a=11, b=2 ;执行下述程序段后,变量 a 和 b 的值分别是 ___B____。 do { a/=b++; }w hile(a>b); A. 1,3 B. 1,4 C. 2,3 D. 2,4 14.在C语言中,下列错误的说法是_______C。 A.函数可以递归调用 C语言模拟题(一) 一、选择题 1、以下字符中不是转义字符的是(A )。 A、'\c' B、'\b' C、'\\' D、'\a' 2、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为(A)。 A、0 B、144 C、132 D、12 3、已定义float x=1.25,y=3.37; 根据下面的输出结果,正确的输出语句是(C ). y+x=4.62,y-x=2.12 A、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x); B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,l C、printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x); D、printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x); 4 、执行下面程序段后,b的值为(A ). int s=35; char t='A'; int b; b=((s&&4)&&(t<'a')); A、1 B、3 C、2 D、0 5 k是整型,则以下程序段的执行结果是:(B ) k=-3; if(k<=0) printf("####") else printf("&&&&"); A、#### B、有语法错误,无结果 C、&&&& D、####&&&& 6 设j和k都是int类型,则下面的for循环语句(D)。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A、最多执行9次 B、是无限循环 C、循环体一次也不执行 D、最多执行10次 7 以下正确的描述是(A ). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 8 以下能对一维数组a进行正确初始化的语句是(B)。 A、int a[10]={}; B、int a[]={0}; C、int a[10]={10*1}; D、int a[10]=(0,0,0,0,0) 9 以下正确的说法是(A ). A、函数的类型决定返回值的类型 B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式 D、如果形参与实参的类型不一致,以实参类型为准 10 以下程序的输出结果为(C)。 int func(int x,int y) { return(x+y); } main() { int a=1,b=2,c=3,d=4,e=5; printf("%d\n",func((a+b,b+c,c+a),(d+e))); } A、9 B、15 C、13 D、函数调用出错 11 以下正确的说法是(D)。 A、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 B、用户若需调用标准库函数,调用前必须重新定义 C、系统根本不允许用户重新定义标准库函数 D、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 12 在#include命令中,文件名可用双引号或尖括号括起来,对于二者的下列说法中正确的是 (A ). A、用尖括号时,直接按系统标准方式检索文件目录. B、用双引号时,直接按系统标准方式检索文件目录. C、用双括号和尖括号时,都不检查源文件所在的文件目录. D、以上说法都不对. 13 当说明一个结构体变量时系统分配给它的内存是(D)。 A、成员中占内存量最大者所需的容量 B、结构中第一个成员所需内存量 《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] (1 )若p 已指向存储单元 a[1]。 是 。 (2)若指针s 指向存储单元a[2],p 二、单项选择题。(每题 通过指针p,给s 赋值,使s 指向最后一个存储单元 a[4]得语句就 指向存储单元a[0],表达式s-p 得值就是 ________________________________ 2分,共40分) 1.设有int x=11; 则表达式(x++ * 1/3) 得值就是( ) A ) 3 B ) 4 C ) 11 D ) 12 2 ?下列程序得输岀结果就是() A) 3 B) 3、2 C) 0 main() {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 C) 6 6 6、0 6、 7 D) 3、07 (小数点后只写一位)( ) B ) 6 6 6、7 6、7 D ) 6 6 6、7 6、0 main() { 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?下列变量定义中合法得就是( 模拟题1 一、单选题(本大题10小题,每题2分,共20分) 1.C语言表达式a=15,a%6的值是_______A A.3 B.5 C.非法表达式 D.15 2.循环语句中,continue语句的作用是______A A.结束本次循环 B.跳出子函数 C.从本循环体内跳出 D.终止程序 3.定义一个返回值为int 的无参函数cacul的正确语句是______C A.void cacul(void); B.void cacul(int); C.int cacul(); D.int cacul; 4.下面运算优先级按从高到低的排列正确的是_____A A.条件运算赋值运算逗号运算 B.算术运算逻辑运算关系运算 C.逻辑运算关系运算赋值运算 D.位运算算术运算赋值运算 5.以下叙述中,正确的是_____B A.C程序中,main函数必须位于程序最前面 B.C语言本身没有输入和输出语句 C.在对一个C程序进行编译的过程中发现注释中的拼写错误 D.C程序中每行中只能写一个语句 6.数组age[2][4]的非法引用是________A A.age[3][0] B.&age[0][0] C.age[0][1] D.age[1][1+1] 7.变量定义int x, a=3, b=4;则语句x = ( a = 0 ) && ( b = 8 ); 执行之后各变量的值为______B A.x =0, a=3, b=4 B.x =0, a=0, b=4 C.x =0, a=3, b=8 D.x =0, a=0, b=8 8.下列_________语句正确定义字符数组。C A.char x[4]= "hello" B.char x[5]= "hello" C.char x[]= "hello" D.char x[4+1]= "hello"最新C语言程序设计模拟试题5(附答案)
C语言模拟试卷A
C语言程序设计模拟试题1附答案
c语言模拟试题
C语言程序设计模拟试题A附答案
C语言模拟试卷
C语言模拟试题二
c语言程序设计教程(第2版)课后题及模拟题参考答案
C语言程序设计模拟试题2(附答案)
C语言模拟题
模拟题c语言答案
C语言模拟题目及答案
C语言模拟试题
C语言程序设计模拟题(含答案).doc
C语言模拟题
C语言程序设计模拟试题3(附答案)
c语言模拟题1(有答案)