文档库 最新最全的文档下载
当前位置:文档库 › c语言模拟试卷A

c语言模拟试卷A

《C语言程序设计》模拟试卷A (闭卷考试)

一、选择题(每题2分,共20分)

1、以下不正确的C语言标识符是。

A. ABC

B. abc

C. a_bc

D. ab.c

2、设有说明:char w; int x; float y; double z;

则表达式w*x+z-y值的数据类型为:。

A. float

B. char

C. int

D. double

3、根据下述定义,可以输出字符’A’的语句是。

struct person

{ char name[11];

struct

{ char name[11];

int age;

}other[10];

};

struct person man[10]={{ "Jone",{"Paul",20}},{"Paul",{"Mary",18}},

{"Mary",{"Adam",23}},{"Adam",{"Jone",23}}};

A. printf("%c",man[2].other[0].name[0]);

B. printf("%c",other[0].name[0]);

C. printf("%c",man[2].(*other[0]));

D. printf("%c",man[3].name);

4、以下说法中正确的是:。

A. C语言程序总是从第一个定义的函数开始执行

B. 在C语言程序中,要调用的函数必须放在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

5、在定义int a[10];之后,对a的引用正确的是。

A. a[10]

B. a[6.3]

C. a(6)

D. a[10-10]

6、以下不能正确赋值的是。

A. char s1[10];s1="test";

B. char s2[]={’t’,’e’,’s’,’t’}

C. char s3[20]= "test";

D. char s4[4]={ ’t’,’e’,’s’,’t’}

7、设i和x都是int类型,则for循环语句。

for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);

A. 最多执行10次

B. 最多执行9次

C. 是无限循环

D. 循环体一次也不执行

8、C语言中表示“在使用x之前,先使x的值加1”的正确方式是。

A. ++x

B. x++

C. +x

D. +x+

9、设有说明int (*ptr)[M]; 其中ptr是。

A. M个指向整型变量的指针

B. 指向M个整型变量的函数指针

C. 一个指向具有M个整型元素的一维数组的指针

D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

10、在下面关于指针的说法中,错误的一条是。

A. 变量的指针就是变量的地址

B. 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量

C. 一个指针变量只能指向同一类型的变量

D. 指针变量中只能存放地址(指针)

二、读程序写结果(每题3分,共21分)

1、以下程序运行后输出的结果是:

#include

void main()

{ int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d\n",i,j,m,n);

}

2、若输入B,以下程序的输出结果是:

void main()

{ char grade;

scanf("%c",&grade);

switch(grade)

{ case 'A': printf(">=85");

case 'B':

case 'C': printf(">=60");

case 'D': printf("<60");

default: printf("error");

}

}

3、以下程序的输出结果是:

void ast(int x,int y,int *cp,int *dp)

{ *cp=x+y; *dp=x-y; }

main()

{ int a,b,c,d;

a=6; b=3;

ast(a,b,&c,&d);

printf("%d,%d\n",c,d);

}

4、以下程序的输出结果是:

main()

{ int a[2][3]={1,3,5,7,9,11};

int m,*ptr;

ptr=&a[0][0];

m=(*ptr)*(*(ptr+2))*(*(ptr+4));

printf("%d\n",m);

}

5、以下程序的输出结果是:

main()

{ int i,j;

for(i=0;i<5;i++)

{ for(j=0;j<5;j++)

if(i==j || i+j==4)

printf("*");

else

printf("+");

printf("\n");

}

}

6、以下程序的输出结果是:

main()

{ int k=4,m=1,p;

p=func(k,m); printf("%d,",p);

p=func(k,m); printf("%d\n",p); }

int func(int a,int b)

{ static int m=0;

int i=1;

i+=m+1; m=i+a+b;

return m;

}

7、以下程序的输出结果是:

main()

{ char s[]="china",*p;

for(p=s+1;p

printf("%s\n",p);

}

三、程序填空(每空2分,共20分)

1、将一个数组中的元素按逆序重新存放。例如原来的顺序为:8,6,5,4,1, 要求改为:1,4,5,6,8。 #define N 7

main()

{ int a[N]={12,9,16,5,7,2,1},k,s;

printf("\n 初始数组:\n");

for (k=0;k

printf("%4d",a[k]); for (k=0;k< (1) ;k++) { s=a[k]; a[k]= (2) ; (2) =s;

}

printf("\n 交换后的数组:\n"); for (k=0; (3) ;k++)

printf("%4d",a[k]);

}

2、用递归方法求N阶勒让德多项式的值,递归公式为

P n x n n x p x n p x n n n n n ===-⋅⋅--⋅>⎧⎨⎪⎩⎪--101211112()()(()()()())/()

#include

main()

{ float pn();

float x,lyd;

int n;

scanf("%d%f",&n,&x);

lyd= (1)

printf("pn=%f",lyd);

}

float pn(float x,int n)

{ float temp;

if (n==0) temp= (2)

else if (n==1) temp= (3)

else temp= (4)

return(temp);

}

3、在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max和min中。

#include

void find(int *a,int *max,int *min)

{ int i;

*max=*min=0;

for(i=1;i

if(a[i]>a[*max]) (1) ;

else if(a[i]

return;

}

main()

{ int a[]={5,8,7,6,2,7,3};

int max,min;

find( (3) );

printf("%d,%d\n",max,min);

}

四、填空题(每空1分,共10分)

1、已知整型变量a=6,b=7,c=1,则表达式 (a*3-b+c)/5 的值是。

2、当a=3,b=4,c=3时,表达式 a==c的值为,a!=c的值为。

3、int (*p)(); 定义的p 是一个 。

4、数学公式 y x b a y ++=)(2

1, 写成C 语言表达式是 。 5、若w=5,x=2,y=3,z=4,则条件表达式w

6、C 语言可以处理的文件类型是 和 。

7、如下图所示,在链表中p1和p2两个结点间插入p 所指向的节点的关键语句是:

和 。

其中结构体数据类型和指针变量的定义如下:

struct stu

{ int a;

float b;

struct stu *next;

} *head, *p1,*p2,*p;

五、编程题(第1题9分,第2、3题各10分,共29分)

1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数, 其各位数字立方和等于该数本身。例如 153是一个水仙花数,因为 153=153333

++。

2、任意输入一个5×6矩阵,求出每一行的和放到一个一维数组中,输出此矩阵及其每一行的和。

3、任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。要求:判断一个数是否为素数用函数实现;排序用函数实现。

(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)

c语言模拟试卷A

《C语言程序设计》模拟试卷A (闭卷考试) 一、选择题(每题2分,共20分) 1、以下不正确的C语言标识符是。 A. ABC B. abc C. a_bc D. ab.c 2、设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为:。 A. float B. char C. int D. double 3、根据下述定义,可以输出字符’A’的语句是。 struct person { char name[11]; struct { char name[11]; int age; }other[10]; }; struct person man[10]={{ "Jone",{"Paul",20}},{"Paul",{"Mary",18}}, {"Mary",{"Adam",23}},{"Adam",{"Jone",23}}}; A. printf("%c",man[2].other[0].name[0]); B. printf("%c",other[0].name[0]); C. printf("%c",man[2].(*other[0])); D. printf("%c",man[3].name); 4、以下说法中正确的是:。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 5、在定义int a[10];之后,对a的引用正确的是。 A. a[10] B. a[6.3] C. a(6) D. a[10-10] 6、以下不能正确赋值的是。 A. char s1[10];s1="test"; B. char s2[]={’t’,’e’,’s’,’t’} C. char s3[20]= "test"; D. char s4[4]={ ’t’,’e’,’s’,’t’}

C语言程序设计A课程教学模拟卷4及答案

中央广播电视大学2008秋季 C语言程序设计A课程试卷(5) 2012年1月考 一、单选题(每小题2分,共20分) 1. 程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用( )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 2. 逻辑表达式(x>0 && x<=10)的相反表达式为()。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 3. 当处理一个问题时的循环次数已知时,最好采用()循环来解决。 A. for B. while C. do-while D. switch 4. 假定i的初值为0,则在循环语句“while(i

5. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。 A. 2 B. 4 C. 6 D. 8 6. 在下列选项中,不正确的函数原型格式为()。 A. int Function(int a); B.void Function (char); C. int Function(a); D.void int(double* a); 7. 假定p是一个指向float类型的数据指针,则p+1所指向的数据的地址比p所指向的数据的地址大( )个字节。 A. 1 B. 2 C. 4 D. 8 8. 假定有一条定义语句为“int m=7, *p;”,则给p赋值的正确表达式为()。 A. p=m B. p=&m C. *p=&m D. p=*m 9. 假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。 A. free(p) B. delete(p) C. free(*p) D. free(&p) 10. C语言中的系统函数fopen()是()一个数据文件的函数。 A. 读取 B. 写入 C. 关闭 D. 打开 二、填空题(每小题2分,共26分) 1. 用于输出表达式值的标准输出函数的函数名是________。 2.每个C语言程序文件在编译时可能出现有致命性错误,其对应的标识符为________。 3. 已知'A''Z'的ASCII码为6590,当执行“int x='C'+3;”语句后x的值为________。 4. 表达式(int)14.6的值为________。 5. 假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为___________。 6. 假定x=5,则执行“a=(x?10:20);”语句后a的值为________。 7. 假定一维数组的定义为“char* a[M];”,则该数组所占存储空间的字节数为________。 8. 存储字符串"a"需要至少占用存储空间中的________个字节。 9. strlen()函数用于计算一个字符串的________。 10. 在C语言中,一个函数定义由函数头和__________这两个部分组成。

C语言程序设计A期末模拟试题三

C语言程序设计A期末模拟试题三 一、单项选择题(每小题2分,共20分) 1.C++程序的基本模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 2.设x和y均为bool量,则x && y为真的条件是( )。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 3.函数调用不可以( D )。 A. 出现在一个表达式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 4.假定变量m定义为“int m=7;”,则定义变量p的正确语句为( B )。 A. int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m; 5.假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为( A )。 A. BOOK *x=new book; B. BOOK x={"C++ Programming",27.0}; C. BOOK *x=new BOOK; D. BOOK *x=book; 6.假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。 A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x; 7.面向对象方法的多态性是指()。 A. 一个类可以派生出多个特殊类 B. 一个对象在不同的运行环境中可以有不同的变体 C. 针对一消息,不同的对象可以以适合自身的方式加以响应 D. 一个对象可以是由多个其他对象组合而成的 8.面向对象软件开发中使用的OOD表示()。 A. 面向对象分析 B. 面向对象设计 C. 面向对象语言 D. 面向对象方法 9.在关键字private后面定义的成员为类的()成员。 A. 私有 B. 公用 C. 保护 D. 任何

c语言程序设计模拟试题ABC

c语言程序设计模拟试题A 专业班级学号姓名 一、单选题(15分) 1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;c的值为()。 A) 1.4 B) 1 C) 2.0 D) 2 2 、以下程序中,while 循环的次数是()。 #include void main(void) { int i = 0; while (i<10) { if (i<1) continue; if (i==5) break; i++; } } A) 1 B) 死循环,不能确定次数C) 6 D) 10 3、以下程序的输出结果是()。 #include void main(void) { int a = 0, i; for (i=1; i<5; i++)v { switch (i) { case 0: case 3: a += 2; case 1: case 2: a += 3; default: a += 5; } } printf(“%d\n”, d); } A) 31 B) 13 C) 10 D) 20 4、执行以下程序段后的输出结果是()。 int x = 5; int m, n;

n = (++x) + (++x); m = (x--) + (x--); printf(“%d %d\n”, m, n); A) 14 10 B) 13 13 C) 14 14 D) 14 12 5、执行以下程序后的输出结果是() #include void main(void) { int i = 0, j = 0, a = 6; if ((++i>0)||(++j>0)) a ++; printf(“i=%d, j=%d, a=%d\n”, i, j, a); } A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 6、执行以下程序后的输出结果是() #include void main(void) { char a[]=”abc\0abc”; printf(“%s”, a); } A) abc\0abc B) abc\ C) abc\0 D) abc 7、以下程序的输出结果是() #include void main(void) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 8、执行以下程序后,a的值为()。 int *p, a = 10, b=1; p = &a; a = *p + b; A) 12 B) 编译出错C) 10 D) 11 9、以下正确的叙述是()。 A)在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D)对一个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、2 3.有以下程序 #include 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 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*6 5.设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.ch B. a.f C b.ch. 8.以下共用体定义错误的是() A. B C union 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,c 9.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。A.p=2*(int*)malloc(sizeof(int)); B.p=(int*)malloc(2*sizeof(int)); C.p=(int*)malloc(2*2); D.p=(int*)calloc(2,sizeof(int)); 10.有以下程序 #include main() { char *p,*q; p=(char *)malloc(sizeof(char)*20); q=p; scanf("%s%s",p,q); printf("%s %s\n",p,q); } 若从键盘输入:abc def<回车>,则输出结果是()。 A.def def B.abc def C.abc d D.d d 二、填空题 1."%-ms"表示如果串长小于m,则在m列范围内,字符串向()靠,()补空格。2.printf函数的“格式控制”包括两部分,它们是()和()。 3.以下程序运行后的输出结果是()。

C语言程序设计测试卷A卷及答案

C语言程序设计测试卷A卷及答案 C语言程序设计测试卷(A卷) 姓名:得分: 一、填空题(15*1) 1、C语言中基本的数据类型有:__________、__________ 、__________ 。 2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。 3、整数-35在机内的补码表示为__________。 4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。 5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]= __________ 。 6、符号”a”和?a?的区别是__________。 7、所谓“指针”就是__________ 。 “&”运算符的作用是__________。 “*”运算符的作用是__________ 。 8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。 二、选择题(20*2) 1、设整型变量a为5,使b不为2的表达式是()。 A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1 2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if

C. 在其之前未配对的最近的if D.同一行上的if 3、以下程序的输出结果是( )。 int x=10,y=10; printf(“%d%d\n”,x--,--y); A. 10 10 B. 9 9 C. 9 10 D. 10 9 4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。 A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i 5、选出下列标识符中不是合法的标识符的是()。 A. hot_do B. cat1 C. _pri D. 2ab 6、以下程序的输出结果是()。 int a=5; float x=3.14; a*=x*(…E? - …A?); printf(“%f\n”,(float)a); A. 62.000000 B. 62.800000 C. 63.000000 D. 62 7、设有说明double(*p1)[N];其中标识符p1是()。

C语言模拟试题及答案

C语言模拟试题及答案 C语言模拟试题及答案 为天地立心,为生民立命,为往圣继绝学,为万世开太平。以下是店铺为大家搜索整理的C语言模拟试题及答案,希望能给大家带来帮助! 一、选择题(每小题1分,共40分) 1、以下函数实现按每行8个输出W所指数组中的数据: 在横线处应填人的语句是( )。 A.if(i/8==0)printf(”\n”); B.if(i/8==O)continue; C.if(i%8==0)prinff(’’\n”); D.if(i%8==0)continue; 2、有以下程序: 在VC 6.0平台上编译运行,程序运行后的输出结果是( )。 A.10,6 B.4,4 C.2,4 D.4。8 3、有以下函数: 以下关于aaa函数功能叙述正确的是( )。 A.将串s复制到串t B.比较两个串的大小 C.求字符串s的长度 D.求字符串s所占字节数 4、在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( )。 5、有以下程序: 程序运行后的输出结果是( )。 A.7

B.10 C.8 D.9 6、有以下程序: 程序运行后的输出结果是( )。 A.1,1,2,0 B.0,0,0,3 C.编译有错 D.0,1,2,0 7、已知字符‘A’的ASCII代码值是65,字符变量cl的值是‘A’,c2的值是‘D’。则执行语句printf(”%d,%d”,cl,c2— 2);的输出结果是( )。 A.65,68 B.A,68 C.A,B D.65,66 8、下列叙述中正确的是( )。 A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性 9、以下选项中正确的定义语句是( )。 A.double,a,b; B.double a=b=7; C.double a;b; D.double a=7,b=7;

C语言程序设计A模拟考核试题及解答

C 语言程序设计A 》模拟考核试题及解答 一、选择题 1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。 A. cpp B. exe C. obj D. C 2. C 语言程序的基本模块为( )。 A. 表达式 B. 标识符 C. 语句 D. 函数 3.x>0 || y==5 的相反表达式为( )。 A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 && y==5 4.枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B. 浮点数 C. 字符 D. 逻辑值 5.循环语句“ for(int i=0; i

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。 c 4。控制字符'\n’表示( )。 A. 回车 B. 响铃 C。换行 D。换页 5。运算符优先级最高的是()。 A。 == B。 + C. && D。 || 6. x<=10的相反表达式为()。 A。 x〉=10 B. x>10 C。 x!=10 D. x>0 7. 每次先进行循环条件的判断,然后再执行循环体的语句为( ). A. for和do B。 for和while C. while和do D。 switch和break 8。假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]被初始化为( )。 A。 6 B。 2 C. 8 D. 7 9。对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。 A. M B. N C. M-1 D. N-1 10. 假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为( )。 A. 25 B. 42 C. 26 D。 43 11。已知“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语言中,为只写操作打开一个文本文件的方式为()。 A。 "a” B。 "r+” C。”r" D. "w" 二、是非判断题。根据叙述正确与否在其后面的括号内打对号“√”或叉号“×”。(每小题2分,共30分) 1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。() 2.在C语言程序上机操作的过程中,编译程序的操作步骤之后是运行操作.() 3. 在一条变量定义语句中,可以同时定义不同类型的变量。() 4. 表达式x=x+y表示成复合赋值表达式为x+=y。() 5.若x=5,y=10,则x<=y的逻辑值为假.( )

《C语言程序设计》模拟试卷(A卷)

《C语言程序设计》模拟试卷(A卷) 一、单选题(每小题1分,共30分) 1.下列选项中合法的变量名是( )。 A.B#123 B._1234 C.float D.xy* 2.以下选项中属于C语言的数据类型的是( )。 A.整型 B.集合型 C.逻辑型 D.复数型 3.下面运算符中,具有右结合性的是( )。 A.+ B.> C.= D.&& 4.字符串"a\x44\\abcd\101b"的长度是( )。 A.9 B.10 C.16 D.18 5.下面选项中合法的字符常量是( )。 A."a" B.′\t′ C. "\n" D. ′\80′ 6.设有int a=9;则表达式(++a*2/3)的值是( )。 A.6 B.7 C.6.6 D. 0 7.已知int i;float d;,则以下选项中正确的表达式是( )。 A.(int d) B.int(d)%i C.int(d%i) D.(int)d%i 8.若有char c;,则能正确判断出c为大写字母的表达式是( )。 A. ′A′<=c<= ′Z′ B.(c>=′A′)||(c<=′Z′) C.(c>=′A′)and(c<=′Z′) D.(c>=′A′)&&(c<=′Z′) 9.下列选项中合法的赋值语句是( )。 A.a=b=58 B.k=a+b C.a=58,b=58 D.--i; 10.设int型占2个字节,若有int i=65536;,则语句printf("%d",i);输出的 结果是( )。 A.65535 B.0 C.有语法错误,无输出结果 D.1 11.已知字符A的ASCII码为65,下面程序段的输出是( )。 char c;c=′A′+′5′-′3′;printf("%d,%c",c,c); A.A,65 B.65,A C.67,C D.C,67 12.下面程序的输出是( )。 main() { int k=11;printf("%d,%o,%x",k,k,k);} A.11,12,13 B.11,13,13 C.11,13,b D.11,013,0Xb 13.下面程序的输出是( )。 main() { int x=023;printf("%d",--x);} A.22 B.23 C.18 D.19 14.若变量已正确定义,现要将a和b中的数据交换,下面不正确的是( )。 A.a=a+b;b=a-b;a=a-b; B.t=a;a=b;b=t; C.a=t;t=b;b=a; D.t=b;b=a;a=t; 15.若x是int型,则下面与逻辑表达式!x等价的关系表达式是( )。 A.x==1 B.x!=1 C.x==0 D.x!=0 16.若x和y都是int型,则以下不能正确表示数学式|x-y|<10的是( )。 A.abs(x-y)<10 B.x-y>-10&&x-y<10 C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<100 17.有以下程序段: int k=0;while(k=1) k++; while循环执行的次数是( )。 第 1 页共5 页

c语言模拟试题及答案

c语言模拟试题及答案试题一: 1. 下面哪个选项不是C语言中的数据类型? A. int B. float C. char D. str 答案:D 2. 以下代码的输出结果是什么? ```c #include int main() { int a = 10; int b = 5; printf("%d\n", a % b); return 0; } ```

A. 0 B. 2 C. 1 D. 5 答案:C 3. 下面哪个选项不是C语言中的控制结构? A. for B. if C. switch D. while 答案:D 4. 以下代码的输出结果是什么? ```c #include int main() { int x = 5; if (x > 10) { printf("x is greater than 10"); } else {

printf("x is less than or equal to 10"); } return 0; } ``` A. x is greater than 10 B. x is less than or equal to 10 C. 5 D. Error 答案:B 5. 在C语言中,以下哪个选项是正确的数组声明方式? A. int array[10]; B. array[10] int; C. int[10] array; D. int array = [10]; 答案:A 试题二: 1. 下面哪个选项是C语言中的关键字? A. main

C. if D. return 答案:C 2. 以下代码的输出结果是什么?```c #include int main() { int i; for (i = 0; i < 5; i++) { printf("%d ", i); } return 0; } ``` A. 0 1 2 3 4 B. 1 2 3 4 5 C. 0 1 2 3 D. 0 1 2 3 4 5

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

计算机科学类专业《C语言程序设计》模拟考试试卷 (满分100分) 一、单项选择题(本大题共30小题,每小题2分,共60分) 1、下列选项中,合法的C语言标识符是()。 A)my_name B)$234 C)my name D)23b 2、以下程序的输出结果是()。 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)0 3、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.0 C) n=n*100+0.5/100.0 D) n=(n/100+0.5)*100.0 7、以下程序段的功能是计算一个整数的各位数字之和,请选择填空。 void main() { int n,m=0; scanf("%d",&n); for( ;n!=0; ) { (); n/=10; } printf("%d\n",m);

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

《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

C语言模拟试题讲解

C语言模拟试题(1) 一.选择题(每题1分,共20分) 1 •下列选项中合法的变量名是 _______ A. al B. fabs C . a-1 D . 5ab 2 •以下所列的C语言的常量中,错误的是_____ 。 A. 25 B. 1.2e0.5 C. '0' D. OXFF 3. 设有int x=11 ,则表达式(x*2/3 )的值是____________ 。 A. 4 B. 7.5 C. 7 D. 6 4. 下面表达式结果为3的是 ______ 。 A. (-7)%4 B . (-7.0)%4.0 C . 7.0%4.0 D . 7 %(- 4) 5. 下面哪一项不是C语句______ 。 A. x=a+b/c B . putchar(c); C . a=5,b=4,c=a+b; D.; 6. _______________________ 下面程序段的输出是。 char c1='b',c2='e: printf("%d,%c\n", c2-c1, c2+'A'-'a'); A. 2,M B . 3,E C . 2,E D . 3,e 7. 以下运算符中优先级最高的运算符是______ 。 A . && B . = C . ++ D . != A . k+=n+1 B . n=n+1,k=n C .k=++n D .k=n,n=n+1 9 .设有x,y 是float 类型,则表达式x=2,y=x+3/2 的值是 A. 3.00000 B. 3 C. 3.500000 D. 2.000000 8以下选项中,与k=n++完全等价的表达式是 10 .能正确表示逻辑关系:"a > 10或a< 0"的C语言表达式是 ___________ A. a>=10 或a<=0 B. a>=10||a<=0 C. a>=10 & a<=0 D. a>=10 && a<=0 11 .有如下程序,其输出的结果是__________。 main(){ float x=2.0,y; if (x<=0) y=0 ; else if (x<10) y=1.0/x ; else y=1; printf("%f\n",y); } A. 0.500000 B. 0.250000 C. 0.000000 D. 1.000000 12 . VC++6.0中若定义float b;则变量b在内存中分配的字节数是______________ A. 1 个 B. 4 个 C. 2 个 D. 8 个 13. ____________________________ 下面程序的输出结果是。 main(){ int i,j,m=0; for(i=3;i<=17;i+=3) for(j=5;jv=20;j+=5) m++; printf("%d\n",m); } A. 24 B. 5 C. 20 D. 9

C语言程序设计A期末模拟试题

C语言程序设计A期末模拟试题 (1-4)(总14页) --本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--

C语言程序设计A期末模拟试题一 一、单项选择题(每小题2分,共20分) 1.由C++目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 2.x>0 && x<=10的相反表达式为()。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 3.在下面的一维数组定义中,哪一个有语法错误。( C ) A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 4.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加( C )。 A. 1 B. 4 C. sizeof(double) D. sizeof(p) 5.当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。 A. 直接按系统设定的标准方式搜索目录 B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录 6.假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。 A. delete p; B. delete *p; C. delete &p; D. delete []p; 7.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px 所指对象中数据成员a的格式为()。 A. px(a) B. px[a] C. px->a D. 8.栈具有()的操作特性。 A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意 9.对于任一个类,用户所能定义的构造函数的个数至多为( )。 A. 0 B. 1 C. 2 D. 任意个 10.下列对派生类的描述中错误的说法是:()。 A. 派生类至少有一个基类 B. 派生类可作为另一个派生类的基类 C. 派生类除了包含它直接定义的成员外,还包含其基类的成员 D. 派生类所继承的基类成员的访问权限保持不变 二、填空题(每题2分,共20分)

电大《C语言程序设计》2019-2020模拟试卷及答案

《C语言程序设计》2019-2020模拟试卷及答案 一、单项选择题。把合适的选项编号填写在括号内。 1.不符合C语言规定的复合语句是()。D A.{} B. {;} C. {x=0;} D. {y=10} 2.C语言中的选择类语句有两条,它们是()。A A.if 和switch B. if 和else C. switch 和case D. else 和case 3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。A A.main B. MAIN C. name D. function 4.在C语言程序中,多行注释语句使用的开始标记符为()。B A. // B. /* C. */ D. ** 5.用于输出表达式值的标准输出函数是()o C A. scanf () B. print () C. printf () D. output 0 6.在printf ()函数调用的格式字符串中,每个格式符的先导字符为()o B A. # B. % C. $ D. @ 7.由C语言源程序文件编译而成的目标文件的扩展名为()o C A. cpp B. exe C. obj D. C 8.由C语言目标文件连接而成的可执行文件的扩展名为()。B A. cpp B. exe C. obj D. c 9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。A A. warning B. error C. warn D. err 10.在C语言中,表示换行符的转义字符为()o C A. \f B. \r C. \n D. \m 11.字符串"a+b=12\n"的长度为()o B A. 6 B. 7 C. 8 D. 9 12.要定义a和b为两个整型变量,则使用的定义语句为()o B A. int a;b; B. int a, b; C. int a b; D. int a:b; 13.下列数值中最大值是()o C

C语言模拟题

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、构造中第一个成员所需内存量

相关文档
相关文档 最新文档