搜档网
当前位置:搜档网 › C语言模拟试题及参考答案

C语言模拟试题及参考答案

C语言模拟试题及答案

一、判断题(10*2.5分=25分)

1.在C程序中,注释部分从/*开始,到*/结束。Yes 2.switch语句中,case后面既可以跟常量,也可以跟已赋值的变量。

NO

注:case后面的值不能为变量3一个C语言程序中包含有多个函数时,按书写顺序从上到下执行各函数。

NO

注:执行顺序是从main()函数开始,按照调用顺序执行各函数。4.若一个函数的返回类型为void,则表示其没有返回值

Yes 5.student_name、_name、name8和name_8都是合法标识符。

Yes 6.不对自动(auto)数组进行初始化,数值型数组隐含初值为0,字符数组隐含初值空字符'\0'NO 注:若不对auto数组进行初始化,则其初值是不可知的。若一个static 或外部数组未进行初始化,则对数值型数组元素,初值为0,而对字符型数组元素,初值为空字符‘\0’

7假设int型数组a的起始地址为2000,则元素a[3]的地址为:2000+4×2=2008。

NO

注:正确答案是:2000+3*2=2006 8.结构化程序设计认为一个"好"程序主要应该是:程序短而紧凑。

NO 9.如果知道整型变量a的地址是2000,可以直接用int *pa=2000; 给指针变量pa赋值,使其指向变量a。NO

10.在C语言的if语句中,用作判断的表达式只能为逻辑表达式和关系表达式。NO 二、单选题(30*2.5分=75分)

()1.下列哪一个选项不是结构化程序三种基本结构的共同特点(C) A. 只有一个入口 B. 只有一个出口

C. 没有死循环D.有分支结构

()2.设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b 和c的值分别是(B) A. 2,1,2 B. 2,0,3

C. 2,2,3 D.2,1,3

()3.若整型变量A、B、C、D中的值依次为:1、4、3、2。

则条件表达式D

A. 1

B. 2

C. 3

D. 4

( )4.表示数学中的关系x

C. (x < y) || (y < z)

D.!(x >= y) || !(y >= z)

()5.在C语言中,设x为int型变量,则执行以下语句后,x的值为(C)A. 10 B. 20

C. 18

D. 19

P 21

#include "stdio.h"

void main()

{

int x;

x=10; x=x+--x;

printf("%d",x);

}

( )6.在C语言中,执行下面语句后,输出的结果是(C) int x=10,y=3; printf("%d\n",y=x/y);

A. 0

B. 1

C. 3 D.不确定的值

()7.在C语言中,假定所有变量均已正确说明,下列程序段运行后x的值是(B) a=b=c=0;x=99;

if(!a) x=9;

else x=3;

A. 99

B. 9

C. 100

D.3

( )8.在C语言中,执行语句:for (i=1; i<4; i++);后,变量i的值是(B)

A. 3

B. 4

C. 5

D.不定

()9.设int k;则语句for(k=0;k=1;k++);和语句for(k=0;k==1;k++);执行的次数分别是(A) A. 无限和0 B. 0和无限

C. 都是无限

D.都是0

( )10.执行语句printf("He question is in c:\\tools\book. exe" );其输出为(C)

A. He question is in c:\\tools\book. exe

B. He questionis in c: oolsook.exe

C. He question is in c:\toolook.exe

D. 出错,不能输出

( )11.函数float AAA(float x,int y)

{ float i,fc=1;

while( y>0 )

{

fc *=x; y--;}

return fc;

}

的功能是(A) A. 求x的y次方 B. 求y的x次方

C. 求x*y

D.求x和y的阶乘之和( )12.对两个静态字符数组A和B进行如下初始化

static char A[]="ABCDEF";

static char B[]={'A','B','C','D','E','F'};

则下列叙述正确的是(D)

A. A和B完全相同

B. A和B只是长度相等

C. A和B不相同,A是指针数组

D. A数组长度比B数组长

( )13.对于for(表达式1;;表达式3)可理解为(B)

A. for(表达式1;0;表达式3)。。。。运行0次

B. for(表达式1;1;表达式3)。。。。。无限循环至无穷大

C. for(表达式1;表达式1;表达式3)。。。。。

D. for(表达式1;表达式3;表达式3)。。。。。(main()

{

int i;

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

printf("%d\n",i);})

P 61

( )14.C语言中,FILE结构指针变量名stdin代表哪类文件(D) A. 标准错误输出 B. 标准输出

C. 标准打印

D. 标准输入

( )15下列循环体执行( )次(D) k=70;

while(k=0) k-=1;

A. 70次

B. 69次

C. 无限次

D. 0次

( )16.有以下程序

#define P 3

void F(int x){return(P*x*x);}

main()

{printf("%d\n",F(3+5));}

程序运行后的输出结果是(D) A. 192 B. 29

C. 25

D. 编译出错

( )17.在一个源程序文件中定义的全局变量的有效范围为(C)

A. 一个C程序的所有源程序文件

B. 该源程序文件的全部范围

C. 从定义处开始到该源程序文件结束

D.函数内全部范围

( )18.有以下程序

main()

{

int p[3]={11,12,13},i=0,j=0;

while(i++<2) if(p[i]%2) j+=p[i];

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

}

程序运行后的输出结果是(A) A. 13 B. 24

C. 11

D. 36

( )19.以下能正确定义一维数组的选项是(D)

A. int a[5]={0,1,2,3,4,5};

B. int a[]=(0,1,2,3,4,5);

C. char a={'A','B','C'};

D.char a[5]="0123";

( )20.与定义char c[]={"GOD"};不等价的是(D)

A. char c[]="GOD";

B. char c[]={'G','O','D','\0'};

C. char c[5]={'G','O','D','\0'};

D. char c[3]={"GOD"};

( )21.char c[5]={‘a’,’b’,’\0’,’c’,’\0’};

printf(“%s”,c);(B)

A.‘a’’b’

B. ab

C. ab c

D. a,b

( )22.设char Q='a', *p=&Q;下面说法中错误的是(C) A. *p='a' B. &*p=&Q

C. &p=&Q

D. *&Q='a'

( )23.有以下程序

main()

{int a[]={1,2,3,4,5,6,7,8,9,0},*p;

for(p=a;p<=a+9;p++)printf("%d,",*p);

程序运行后的输出结果是(A) A. 1,2,3,4,5,6,7,8,9,0, B. 2,3,4,5,6,7,8,9,10,1,

C. 0,1,2,3,4,5,6,7,8,9,

D. 1,1,1,1,1,1,1,1,1,1,

( )24.若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是(C) A. a,p,&*a B. *&a,&a,*p

C. &a,p,&*p

D. *&p,*p,&a

( )25.设有语句:int a[10],*p =a;,则下面的语句中,不正确的是(D) A. p=p+1; B. *p=*p+1;

C. a[0]=a[0]+1;

D. a=a+1;

( ) 26.当int类型长度为2字节时,则类型unsigned int的值域范围为(D)

A. 0至255

B. -256至255

C. -32768至32676

D. 0至65535

( )27.有如下程序:

#include

int b;

void f()

{ int t2; t2=b*3; b=100; }

void main()

{ int a=2;

b=4; f1();

}

叙述正确的是(D)

A. a和b都是静态变量。

B. a是静态变量,b是动态变量。

C. a和b都是全局变量。

D. a是局部变量,b是全局变量。

( )28.下面的for循环最多可执行____次。(A) for(x=0,y=0;(y!=99)&&(x<4);x++);

A. 4次

B. 5次

C. 99次

D. 0次

( )29.下列判断char类型变量C1是否为数字的表达式中,哪个表达式最简单且正确? (C) A. '0'<=C1<='9' B. (C1>='0')&&(C1<='9')

C. (C1>=0)&&(C1<=9)

D. ('0'<=C1)||('9'>=C1) ( )30.若有以下的说明,则对初值中字符'a'的引用方式为___。(D) static struct

{ char ch;

double x;

char t;

}c[2][2]={{{'a',35,'b'},{'c',45,'d'},{'a',86, 'm'}}};

A. c.ch

B. c[0][1].ch

C. c[1][1].ch

D. c[0][0].ch

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语言程序设计模拟试题7(附答案)

《C语言程序设计》模拟试卷七 一、填空题。(每空2分,共30分) 1.下述算术表达式的结果值是___ __。 (int) (13.7+25.6)/4%4 2.设整型变量value的值为20。执行下述程序段的输出结果 是。 if (value>=3) if (value>100) printf("Error:value>100.\n"); else printf("Error:value<3.\n"); 3.对于下述程序段 int b,c; float a; scanf("%f,%d,c=%d",&a,&b,&c); 若欲使a、b、c的值分别为5.0、4、3,则应按如下形式输入数据:_ __ 。 4.设int类型变量占内存两个字节,今有变量说明语句 int a=20; 则执行下述printf语句的输出结果是 ___ _。 printf("%d,%0,%x,%u\n",a,a,a,a); 5.执行下述程序的输出结果是_____ ______。 #include main() { int arr[10],i,k=0; for (i=0;i<10;i++) arr[i]=i;

for (i=1;i<4;i++) k+=arr[i]+i/2; printf("%d\n",k); } 6.执行下述程序的输出结果是__ _。 #include main() { int i=0; char x[]="China"; char y[]="Chinese"; while (x[i]!='\0'&&y[i]!='\0') if (x[i]==y[i]) printf("%c",x[i++]); else i++; printf("\n"); } 7.下述函数定义的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。 void exchange( ) { int t; t=*y; *y=*x; *x=t; } 8.设有如下变量说明语句

c语言模拟试题及答案

专升本c语言模拟试题及答案(一) 1. ___D___是合法的用户自定义标识符。 A、 b-b B、float C、 D、 _isw 2. 若变量已正确定义并赋值,表达式___B___不符合C语言语法。 A、a*b/c; B、3.14%2 C、2, b D、a/b/c 3. ___C__是不正确的字符常量。 A、'n' B、'1' C、"a" D、'101' 4. 在 C 程序中,用___B__表示逻辑值“真”。 A、1 B、非 0 的数 C、非 1 的数 D、大于 0 的数 5. __C____把x、y定义成float类型变量,并赋同一初值3.14。 A、float x, y=3.14; B、float x, y=2*3.14; C、float x=3.14, y=x=3.14; D、float x=y=3.14; 6. 若变量已正确定义,表达式___C___的值不是2。 A、2&3 B、1<<1 C、a==2 D、1^3 7. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和__C____等价。

A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 8. 设变量定义为“int a, b;”,执行下列语句时,输入_D____,则a和b的值都是10。 scanf("a=%d, b=%d",&a, &b); A、10 10 B、10, 10 C、a=10 b=10 D、a=10, b=10 9. 下列程序的输出结果是__D___。 fun(int a, int b, int c) { c =a*b; } void main( ) { int c; fun(2,3,c); printf(”%dn”,c); } A、0 B、1 C、6 D、无法确定 10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。

c语言试题带答案

C语言模拟题二 C语言模拟题二 一、单项选择题 1.程序中定义以下宏#define S(a,b)a*b 若定义int area;且令area=S(3+1,3+4),则变量area的值为_________ A 10 B 12 C 21 D 28 2.正确的标识符是_________ A if B a=2 C a.3 D a_3 3.表达式1&3&5&7的值为_________ A 1 B 3 C 5 D 7 4.语句printf(″s\\t″)的输出结果为_________ A s\\t B s\t C s\ D s 5. 执行下列语句后,sum变量的值是_________ int sum=0; for(int i=0;i<10;i++,sum+=i); A 45 B 55 C 0 D 编译错误 6.已知有共用体变量data1定义如下: union data { int i; char ch; float f; } data1;则变量data1所占的内存存储空间可表示为_________ A sizeof(int) B sizeof(char) C sizeof(float) Dsizeof(int)+sizeof(char)+sizeof(float) 7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示_________ A 已读到此文件末尾 B 未读到此文件的末尾

C 此文件已关闭D此文件尚未被打开 8.以下c语言函数声明中,不正确的是_________ A void fun (int x,int y); B fun (int x,int y); C int fun (int x,y); D char *fun (char *s); 9.若有语句if(x==0) y=5;则与条件x==0等价的表达式为_________ A x B !x C x!=1 D 以上都不对 10. 在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为 A)ABCdef B)abcDEF C)abc D)DEF #include main( ) { char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32; else if(ch>='a' && ch<='z')ch=ch-32; printf("%c",ch);}printf("\n");} 11.下面不能正确进行字符串赋值操作的语句是_______ A)char s[5]={"ABCDE"};B)char s[5]={'A'、'B'、'C'、'D'、'E'}; C) char *s;s="ABCDEF";D)char *s;scanf("%s",s); 12.若x=4,则x*=x+2的值为_________ A 36 B 24 C 18 D 20 13.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为_________ A 1 B 2 C 4 D 5 14.设a为5,执行下列语句后,b的值不为2的是_________ A b=a/2 B b=6-(--a) C b=a%2 D b=a<32?2:1 15.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是_________ A p2=**p1 B p2=*&p1 C p2=*p1 D p2=&*p1 16.以下运算符中,运算对象必须是整型的是_________ A / B %= C != D〈= 17.以下关于typedef的叙述中错误的是_________ A用typedef可以增加新的类型 B用typedef可以定义各种类型名,但不能用来定义变量 C用typedef只是将已有的类型用新的标识符来代表 D使用typedef有利于程序的通用和移植

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 6、若用数组名作为函数调用的实参,则传递给形参的是(A)。

C模拟题及答案

1、设有数组的初始化定义如下:int a[5]={1,2,3};对该定义的正确理解是( B )。 A.将3个数依次赋给a[1 ]至a[3 ] B.将3个数依次赋给a[0 ]至a[2 ] C.将3个数依次赋给a[0 ]至a[3 ] D.因初值的个数小于数组长度,所以定义是错的 2、下列选项中,值不等于0.5的表达式是( A)。 A.1/2 B.1/2.0 C.(float)1/2 D.1.0/2 3、若有“float x=123.456; printf("%2.1f",x);”,则执行后的输出结果为( D )。 A.3.4 B.3.5 C.123.4 D.123.5 4、能把ch中的大写字母转换为对应小写字母的表达式是( B )。 A.ch=ch-32 B.ch-='A'-'a' C.ch+=-32 D.ch-='a'-'A' 5、以下对结构体变量成员num的非法引用是( B)。 struct person { int age; intnum; }x,*p=&x; A.x.num B.person.num C.p->num D.(*p).num 6、设有以下程序,则对循环次数描述正确的是( B )。 int k=10; while (k= =0) k=k-1; A. 执行10次循环 B.不执行循环 C.执行一次循环 D.执行无限次循环 7、设有如下程序,则输出结果是()。 int a=2,b=3,c=1; if (a>b) if (a>c) printf(“%d\n ”,a); else printf(“%d\n ”,b );

printf(“Over!\n ”); A.2 B.3 C.Over! D.1 8、对二维数组a初始化为:int a[ ][2]={1,2,3,4,5,6};则a第一维的大小是()。 A.2 B.3 C.4 D.不能确定 9、若x、i、j、k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4 B.16 C.32 D.52 10、执行函数调用“fun('A')”得到的返回值为()。 int fun(char ch) { return(ch>='0'&&ch<='9'); } A.-1 B.0 C.1 D.2 11、以下数组的定义形式正确的是()。 A.int k=5,a[k]; B.int a[ ]; C.char c[]={'a'}; D.char a(10); 12、若有语句“int a[10],*p=&a[2];”,则执行语句“p=p+4;”后,p指向的数组元素是()。 A.a[4] B.a[5] C.a[6] D.a[7] 13、表示关系x<=y<=z的C语言表达式为()。 A.(x<=y)&&(y<=z) B.(x<=y)AND(y<=z) C.(x<=y<=z) D.(x<=y)&(y<=z) 14、下面不正确的字符常量是()。 A.“c” B.‘\\’’ C.‘’ D.‘K’ 15、若有定义:char a; int b; float c; double d;,则表达式a*b+d-c值的类型为()。 A.float B.double C.char D.int 16、定义int a[9],*p=a;不能表示a[1] 地址的是()。 A.p+1 B.a+1 C.a-1 D.&a[1] 17、下列关于C程序的说法错误的是()。

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

C语言程序设计模拟试题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

全国计算机等级考试二级C语言模拟试题及答案一

全国计算机等级考试二级C语言模拟试题及答案一 一、选择题 1栈和队列的共同特点是 A都是先进先出 B都是先进后出 C只允许在端点处插入和删除元素 D没有共同点 正确答案: C 2已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 Aacbed Bdecab Cdeabc Dcedba 正确答案: D 3链表不具有的特点是 A不必事先估计存储空间 B可随机访问任一元素 C插入删除不需要移动元素 D所需空间与线性表长度成正比 正确答案: B 4结构化程序设计的3种结构是 A顺序结构、选择结构、转移结构 B分支结构、等价结构、循环结构 C多分支结构、赋值结构、等价结构 D顺序结构、选择结构、循环结构 正确答案: D 5为了提高测试的效率,应该 A随机选取测试数据 B取一切可能的输入数据作为测试数据 C在完成编码以后制定软件的测试计划 D集中对付那些错误群集的程序 正确答案: D 6算法的时间复杂度是指 A执行算法程序所需要的时间 B算法程序的长度 C算法执行过程中所需要的基本运算次数 D算法程序中的指令条数 正确答案: C 7软件生命周期中所花费用最多的阶段是 A详细设计 B软件编码

D软件维护 正确答案: D 8数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为 AC BBasic CDDL DDML 正确答案: C 9下列有关数据库的描述,正确的是 A数据库是一个DBF文件 B数据库是一个关系 C数据库是一个结构化的数据集合 D数据库是一组文件 正确答案: C 10下列有关数据库的描述,正确的是 A数据处理是将信息转化为数据的过程 B数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 C关系中的每一列称为元组,一个元组就是一个字段 D如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 正确答案: D 11以下叙述中正确的是 AC语言比其他语言高级 BC语言可以不用编译就能被计算机识别执行 CC语言以接近英语国家的自然语言和数学语言作为语言的表达形式 DC语言出现的最晚,具有其他语言的一切优点 正确答案: C 12C语言中用于结构化程序设计的3种基本结构是 A顺序结构、选择结构、循环结构 Bif,switch,break Cfor,while,do-while Dif,for,continue 正确答案: A 13C语言中最简单的数据类型包括 A整型、实型、逻辑型 B整型、实型、字符型 C整型、字符型、逻辑型 D字符型、实型、逻辑型 正确答案: B 14若变量已正确定义并赋值,以下符合C语言语法的表达式是 Aa:=b+1 Ba=b=c+2 Cint 18.5%3

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

模拟题一 一、选择题 1.下列说法正确的是()。 A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在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 c= ‘\64’ ; 则变量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+(int)x%(int)y的值是()。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 7.设有如下定义和执行语句,其输出结果为()。 int a=3,b=3; a = -- b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 3 8.以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为()。 A)int B)float C)char D)double 9.C语言中,运算对象必须是整型数的运算符是()。 A)%B)\C)% 和\D)** 10.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后的最终结果为()。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP . 11.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 12.以下if语句中语法错误的是()。

c语言考试试题及答案

c语言考试试题及答案 一、选择题 1. 在C语言中,下列哪个关键字用于声明一个变量的名称? A. define B. int C. printf D. scanf 答案:B 2. 函数的返回类型可以是下列哪种类型? A. int B. float C. char D. all of the above 答案:D 3. 下列哪个运算符用于访问结构体变量的成员? A. . B. -> C. :

D. , 答案:A 4. 文件指针是下列哪种类型? A. FILE B. pointer C. file* D. fp 答案:A 5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体? A. for B. while C. do-while D. switch 答案:B 二、填空题 1. C语言中,用于定义常量的关键字是____。 答案:const 2. 在C语言中,用于输出结果到控制台的函数是____。

答案:printf 3. C语言中,用于读取用户输入的函数是____。 答案:scanf 4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元 素个数是____。 答案:12 5. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。 答案:continue 三、编程题 请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。 ```c #include int main() { int num1, num2, sum; printf("请输入第一个整数:"); scanf("%d", &num1); printf("请输入第二个整数:");

C语言模拟题十套附答案

第一部分:选择题(40分,20小题/套) 概述 1、下面关于C语言的叙述中,正确的是(D) A. 每行只能写一条语句 B. 程序中必须包含有输入语句 C. main函数必须位于文件的开头 D. 每条语句最后必须有一个分号 2、下面关于C语言的叙述中,错误的是(B) A. 若一条语句较长,也可分写在下一行上 B. 构成C语言源程序的基本单位是表达式 C. C语言源程序中大、小写字母是有区别的 D. 一个C语言源程序可由一个或多个函数组成 3、关于C语言数据类型的叙述,正确的是() A. 枚举类型不是基本类型 B. 数组不是构造类型 C. 变量必须先定义后使用 D. 不允许使用空类型 4、C程序中main函数的位置(C) A. 必须在最开始 B. 必须在系统库函数后面 C. 可以在自定义函数后面 D. 必须在最后 5、C语言的函数体由(B)括起来 A. ( ) B. { } C. [ ] D. /* */ 6、关于C语言的叙述中,不正确的是(C) A. C程序可由一个或多个函数组成 B. C程序必须包含一个main()函数 C. C程序的基本组成单位是函数 D. 注释说明只能位于一条语句的后面 7、一个程序的执行是从(C) A. 本程序的第一个函数开始,到最后一个函数结束 B. 本程序的main函数开始,到main函数结束 C. 本程序的main函数开始,到最后一个函数结束 D. 本程序的第一个函数开始,到main函数结束 8、结构化程序设计的三种基本结构是(C) A. 函数结构、分支结构、判断结构 B. 函数结构、嵌套结构、平行结构 C. 顺序结构、分支结构、循环结构 D. 分支结构、循环结构、嵌套结构 9、调试程序是指对程序进行(C) A. 编辑 B. 编译 C. 查错和排错 D. 连接 10、C语言中,复合语句的构成是将一系列语句置于(C) A. begin与end之间 B. 一对圆括号“()”之间 C. 一对花括号“{ }”之间 D. 一对方括号“[ ]”之间 11、构成C语言源程序的基本单位是(D) A. 语句 B. 过程 C. 表达式 D. 函数 语法基础 12、在C语言中,正确的用户标识符是(B) A. 3f B. _for C. struct D. _f.5

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

《C语言程序设计》模拟试卷六 一、填空题。(每空2分,共16分) 1.C语句必须以号结束 2.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是。 3.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是。 4.有以下语句段 int n1=10,n2=20; printf(“”,n1.n2); 要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20 5.设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。 scanf(“%d, ” ); printf(“%d\n”, 。); 6.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是。7.有以下程序段 int k=0 while(k=1)k++; while 循环执行的次数是。 二、单项选择题。(每题2分,共40分) 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.设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)() A)10□X□20□Y〈回车〉 B)10□X20□Y〈回车〉 C)10□X〈回车〉 D)10X〈回车〉 20□Y〈回车〉 20Y〈回车〉 6.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案 第一篇:C语言基础知识 1. C语言的发明人是谁?简要介绍一下他的背景。 2. int型变量的取值范围是多少?unsigned int呢? 3. 请问下面这段代码输出的结果是什么? char str1[] = "hello"; char str2[] = "world"; strcat(str1, str2); printf("%s", str1); 4. 以下哪些数据类型可以用来存储浮点数? A. float B. double C. long double D. char 5. 下列代码的输出结果是什么? int a = 1; long b = 2; float c = 3.0; printf("%ld\n", a + b + c); 答案: 1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。C语言是一种高级计算

机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。 2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。 3. 输出结果为“helloworld”。strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。如果第一个字符串不够大,程序会出现内存溢出等问题。 4. A、B、C三个数据类型可以用来存储浮点数。 5. 输出结果为“6”。在printf函数中,%ld表示输出 长整型数据,而c是一个float型变量。当printf函数中的 格式字符串和实际参数类型不匹配时,程序会自动进行类型转换。在此例中,a和b自动转换成long类型,而c自动转换 成double类型。所有类型转换后,表达式的值为6.0。在输 出时,%ld会把浮点数的小数部分去掉,只输出整数部分。所 以最终输出6。 第二篇:C语言控制语句 1. 编写一个程序,读入一个数,如果这个数是奇数,输 出“这是个奇数”,否则输出“这是个偶数”。 2. 编写一个程序,读入一个整数n,输出n个星号,每 个星号之间用空格隔开。例如,当n为3时,输出“* * *”。 3. 编写一个程序,读入两个整数a和b,输出它们的最 大公约数。可以使用欧几里德算法实现。最大公约数定义为能够同时整除a和b的最大正整数。 4. 编写一个程序,求解二次方程ax² + bx + c = 0的根。程序应该首先读入三个实数a、b、c,然后根据公式计算

c语言试题及答案详解

c语言试题及答案详解 C语言是一种通用的编程语言,广泛应用于系统软件、嵌入式系统和应用程序开发。对于学习和掌握C语言的人来说,练习试题并解答是非常重要的。本文将提供一些常见的C语言试题,并对每个试题给出详细解答,帮助读者更好地理解和掌握C语言的知识。 试题一:请写出一个简单的C语言程序,显示“Hello World!”。 解答一: ```c #include int main() { printf("Hello World!\n"); return 0; } ``` 解析:上述代码中,使用了C语言的标准库函数`printf`来输出字符串"Hello World!",`\n`表示换行。`main`函数是C程序的入口,程序从`main`函数开始执行。`return 0`表示程序正常结束。 试题二:请写出一个C语言函数,接收两个整数参数并返回它们的和。

```c #include int add(int a, int b) { return a + b; } int main() { int num1 = 5; int num2 = 3; int sum = add(num1, num2); printf("The sum is %d\n", sum); return 0; } ``` 解析:上述代码中,定义了一个名为`add`的函数,接收两个整数参数`a`和`b`,返回它们的和。在`main`函数中,声明并初始化了两个整数变量`num1`和`num2`,然后调用`add`函数将它们的和赋值给变量 `sum`,最后使用`printf`输出结果。 试题三:请写出一个C语言循环,计算1到10的平方和。

C语言程序设计模拟试题2附答案new

"C语言程序设计"模拟试卷二 一、填空题。〔每空2分,共30分〕 1.设有变量说明语句 int *=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+*/y); 2.执行下述程序 #include main() { int *,y; scanf("%2d%*2s%1d",&*,&y); printf("%d\n",*+y); } 假设从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入假设干名学生的成绩(百分制,可带小数,以输入负数或0为完毕标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float *,ama*,amin; scanf("%f",&*); ama*=*; amin=*; while (*>0&&*<=100) { if (*>ama*) ama*=*; else if (*

} 4.设n 是整型变量,且已具有*正整数值。根据下述数学式 1 1 14131312121+⋅ ++⋅+⋅+n n 求s 的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],*=8,y,z; for (y=0;y<3;y++)

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

C语言程序设计模拟试题三及答案 一、选择题(本题共20道小题,每题2分,共40分。) 1. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a; scanf("%lf",p); B) p=(double*)malloc(8);scanf("%f",p); C) p=&a;scanf("%lf",a); D) p=&a; scanf("%le",p); 答案:D 解析: 选项A:此项中 *p是指针指向单元的值引用,&a是a单元的地址,故此项错误。 选项B:scanf中的格式控制符对双精度变量而言是"%lf",而非选"%f",此项错误。选项c:scanf函数的地址表列中不能写成a,此项错误。 选项D:指针p首先指向a单元,再通过键盘以科学计数格式赋值浮点数,此项正确。 2. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 int main( ) { int x; scanf("%d",&x); if(x + + >5) printf("%d",x); else printf("%d\n",x - -); } A) 7和5 B) 6和3 C) 7和4 D) 6和4 答案:A 解析:当输入为6时,即x=6,∵++在x后,∴先取x=6与5比较,再取x=6+1=7,6>5成立,输出x=7;同理,当输入为4时,输出x=5。本题考察++,--的优先级与结合性。 3. 下面程序的输出是 A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC #include #include int main() { char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n", str); } 答案:D 解析:strcat将p2字符串连在p1字符串尾,产生新字符串:abcABC,在讲连接后的值赋在str[2]处,即a将z覆盖,产生新的字符组元素:xyabcABC。本题考察字符串函数应用. 4. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]

C语言模拟试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( )函数. 3.C语言描述“x和y都大于或等于z"的表达式是x〉=z && y〉=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址. 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1._____是C语言合法的标识符。 (A)3_sy45 (B)su_m (C)@123 (D)3D64 2.一个程序的执行是从. (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. (C)本程序的main函数开始,到本程序文件的最后一个函数结束. (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是。 (A)在C程序中,main函数必须位于程序的最前面. (B)C程序每行中只能写一条语句. (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误. 4.以下叙述不正确的是。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为。 (A)28 (B)30 (C)60(D)17 6.在c语言中,变量的隐含存储类别是。 (A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。 char c1=98; printf(“%d %c”,c1,c1—32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为. y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=10 9.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是。 (A)/ (B)%(C)!= (D)= 11.用scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是。 (A)123,4 (B)123 4 (C)123;4 (D)1234 12.以下关于运算符优先顺序的描述中正确的是________

c语言模拟考试及答案

c语言模拟考试及答案

————————————————————————————————作者:————————————————————————————————日期:

模拟试题 模拟试卷一 一、选择题 1.逻辑运算符两侧运算对象的数据____ A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下面程序段的输出结果是____ int a=023; printf("%d\n",--a); A.23 B.17 C.18 D.24 3.若有定义:int a[3][4]; 下面不能表示数组a[1][1]的是____。 A. *(a[1]+1) B. *(&a[1][1]) C.(*(a+1))[1] D. *(a+5) 4.设有语句:char str1[]="string",str2[8],*str3,*str4="string";则______不是对库函数strcpy的正确调用。 A. strcpy(str1,"HELLO1"); B. strcpy(str2,"HELLO2"); C. strcpy(str3,"HELLO3"); D. strcpy(str4,"HELLO4"); 5.设有定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是______。 A. *((*prt+1)[2]) B. *(*(p+5)) C. (*prt+1)+2 D.*(*(a+1)+2) 6.有以下程序 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); } 程序运行后输出结果是____。 A.5 B.6 C.7 D.8 7.有以下程序: #include union pw { int i; char ch[2]; } a; main()

相关主题