搜档网
当前位置:搜档网 › 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.以下关于运算符优先顺序的描述中正确的是________

(A)关系运算符<算术运算符<赋值运算符<逻辑与运算符

(B)逻辑与运算符<关系运算符<算术运算符<赋值运算符

(C)赋值运算符<逻辑与运算符<关系运算符<算术运算符

(D)算术运算符<关系运算符<赋值运算符<逻辑与运算符

13.下列程序段中,功能与其它程序段不同的是。

(A)for(i=1,p=1;i<=5;i++) p*=i;

(B)for(i=1;i<=5;) { p=1;p*=i;i++;}

(C)i=1;p=1;while(i〈=5) { p*=i;i++;}

(D)i=1;p=1;do { p*=i;i++;} while(i〈=5);

14.C语言规定else总是与配对。

(A)缩进位置相同的if (B)同一行上的if

(C)其之前最近的if(D)其之后最近的if

15.以下程序的运行结果为______。

main( )

{ int n;

for( n=1;n〈=10;n++)

{ if( n%3==0) continue; printf(“%d”,n);}

}

(A)12457810(B)369 (C)12 (D)12345678910

16.设x和y均为int型变量,则语句x+=y;y=x-y;x-=y;的功能是。

(A)把x和y按从大到小排列(B)把x和y按从小到大排列

(C)无确定结果(D)交换x和y中的值

17.变量的指针,其含义是指该变量的 _____

(A)值(B)地址(C)名(D)一个标志

18.以下函数调用语句中含有个实参.

func((e1,e2),(e3,e4,e5));

(A)2 (B)3 (C)5 (D)语法错误

19.以下正确的描述是________

(A)continue语句的作用是结束整个循环的执行

(B)只能在循环体内和switch语句体内使用break语句

(C)在循环体内使用break语句或continue语句的作用相同

(D)break语句可以退出多层循环

20.以下程序运行的结果是。

main()

{int a=2,b=3,c=2;

if(a

if(a〈c)

c—-;

else

c+=1;

printf(“%d\n”,c);

}

(A)0 (B)1 (C)2 (D)3

21.int a[4]={2,3,4},i;

i=a[0]*a[1]+a[2]*a[3];

i的值为。

(A)2 (B)4 (C)6 (D)10

22.以下正确的函数定义形式是。

(A)double fun(int x,int y);

(B)double fun(int x;int y)

(C)double fun(int x,int y)

(D)double fun(int x,y)

23.设char s[10]= "abcd",t[]=”12345";,则s和t在内存中分配的字节数分别是_______。

(A)6和5 (B)6和6 (C)10和5 (D)10和6

24.若有定义int a[4]={1,2,3};

请问a[a[a[0]]]的值是。

(A)1 (B)2 (C)3 (D)4

25.以下正确的描述是____________

(A)函数的定义可以嵌套,函数的调用不可以嵌套

(B)函数的定义不可以嵌套,函数的调用可以嵌套

(C)函数的定义和函数的调用均不可以嵌套

(D)函数的定义和函数的调用均可以嵌套

26.以下不正确的说法是____________

(A)在函数内的复合语句中定义的变量在本函数范围内有效

(B)在不同函数中可以使用相同名字的变量

(C)形参是局部变量

(D)函数调用结束后,静态局部变量的值仍然保留。

27.已有定义:int x=3,y=4,z=5;

则表达式!(x+y)+z-1&&y+z/2的值是 .

(A)6 (B)0 (C)2 (D)1

28. main()

{int n[4]={1,2,3,4},k;

for(k=0;k〈4;k++)

{if(k/2) break;

n[k]++;

}

printf(“%d\n”,n[++k]);

}

执行后输出的结果是。

(A)2 (B)3 (C)4 (D)5

29.判断字符串是否相等,应当使用。

(A)if(a==b) (B)if(a=b) (C)if(strcpy(a,b))(D)if(!strcmp(a,b))30.以下程序运行结果是。

void sub(int x,int y,int *z)

{*z=y—x;}

main()

{int a,b,c;

sub(11,7,&a);sub(5,a,&b);sub(a,b,&c);

printf(“%d,%d,%d\n",a,b,c);

(A)—4,-9,-5 (B)-4,9,5 (C)4,-9,—5 (D)-4,9,-5

31.以下程序运行结果是。

main()

{int a[2][3]={1,3,5,4,7,6},i,j,b=a[0][0];

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

for(j=0;j<3;j++)

if(b〈a[i][j])

b=a[i][j];

printf(“%d\n”,b);

}

(A)5 (B)7(C)4 (D)1

32.运行下面程序时,从键盘输入字母A,则输出结果是

#include<stdio.h>

main()

{char ch;

ch=getchar();

switch(ch)

{case’A':printf(”AAAA\n");

case'B':printf("BBBB\n");

default:printf("CCCC\n”);

}

(A)AAAA

(B)AAAA

BBBB

(C)AAAA

BBBB

CCCC

(D)AAAA

CCCC

33.以下程序运行结果是。

#include

main()

{char s[50]="1234567”,*p=s;

int i;

i=*(p+5)-*(p+2);

printf(“%d\n”,i*strlen(s));

}

(A)21(B)24 (C)14 (D)28

34.以下程序运行结果是。

main()

{int a[]={1,2,3,4,5,6,7,8,9},i,j,k;

for(i=0,j=8;i〈j;i++,j——)

{k=a[i];a[i]=a[j];a[j]=k;}

printf(“%d\n",a[1]+a[5]);

}

(A)11 (B)12 (C)13 (D)14

35.以下程序运行结果是。

main()

{int x[]={1,2,3},s,*p=x,i;

for(i=0,s=1;i〈3;i++,p++)

s*=*p;

printf(“%d\n",s);

}

(A)2 (B)4 (C)6(D)8

三阅读填空(每小空2分,共20分)

1.计算球的体积。

main()

{float r,v;

scanf(“ %f”,&r);

v=4*3。14*r*r*r/3 ;

printf(“v=%6。2f\n”,v);

}

2.判断质数。

#include

main()

{int i,flag=1,n;

scanf(“%d”,&n);

for(i=2;i〈=sqrt(n);i++)

if( n%i==0 )

{flag=0;

break;

if( flag==1 )

printf(“%d是质数\n”,n);

else

printf(“%d不是质数\n”,n);

}

3.计算数组中元素的平均值。

main()

{float average(int a[]);

int a[10],i;

float aver;

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

scanf(“%d”,&a[i]);

aver= average(a) ;

printf(“average is %6.2f”,aver);

}

float average(int a[])

{

int sum=0,i;

float aver;

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

sum=sum+a[i];

aver=sum/10;

return aver ;

}

4.统计字符串中字母的个数。

main()

{char s[50];

int i,j=0 ;

scanf(“%s”,s);

for(i=0; s[i]!=’\0' ;i++)

if(s[i]〉=’A'&&s[i]<=’Z'||s[i]〉='a’&&s[i]<=’z')

j++;

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

}

C语言模拟试卷(带答案)

C语言模拟试卷(带答案) 精品文档 单选题: 1、执行下面的程序段后,变量k中的值为 s[0]=k; k=s[1]*10; A. 不定值 B. 33 C. 30 D. 10 答案: A 2、设有以下定义: #define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+ (4*5+1) A. 出错 B. 42 C. 48 D. 54 答案: C 3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____ A. 1 B. 2 C. 2.0 D. 2.5 答案: c 4、请选出以下语句的输出结果____ printf("%d\n",strlen("\t\ 065\xff\n"))

A. 5 B. 4 C. 8 D. 输出项不合法,无正常输出 答案: B 5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的 else总是与____组成配对关系。 A. 其上面距它最近的,并且没有其他else与其配对的if相配对 B. 在同一行上的if C. 缩排位置相同的if D. 在其之前未配对的if 答案: A 6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y)); 上面程序片段的输出结果是 A. 200 B. 100 C. 100 200 D. 输出格式符不够,输出不确定的值 答案: A 7、请读程序片段(字符串内没有空格字符): printf("%d\n", strlen("ATS\n012\1\\")); 上面程序片段的输出结果是 A. 11 B. 9 C. 10 D. 8 答案: B 8、设有以下程序段

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语言模拟题二 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语言试题及答案大全

c语言试题及答案大全 一、选择题 1. 下列关于C语言的说法中,正确的是: A. C语言是一种高级编程语言。 B. C语言可以被编译成机器语言执行。 C. C语言的语法和C++完全相同。 D. C语言不支持面向对象的编程。 答案:B. C语言可以被编译成机器语言执行。 2. C语言中,以下哪个是合法的标识符? A. 123abc B. abc_123 C. int D. function() 答案:B. abc_123 3. 在C语言中,以下哪种循环结构是先判断条件后执行循环体? A. for循环 B. while循环 C. do-while循环

D. switch语句 答案:C. do-while循环 二、编程题 1. 编写一个C程序,计算并输出1到n之间所有整数的和。其中,n由用户输入。 答案: #include int main() { int n; int sum = 0; printf("请输入一个整数n:"); scanf("%d", &n); for (int i = 1; i <= n; i++) { sum += i; } printf("1到%d之间所有整数的和为%d\n", n, sum); return 0; }

2. 编写一个C程序,判断一个整数是否为素数。素数是指除了1和自身外,无法被其他整数整除的整数。 答案: #include #include bool is_prime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int main() { int num; 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语言模拟测试题一及答案

模拟题一 一、选择题 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语言模拟试卷及答案 ____―____学年第一学期《C语言程序设计》模拟试卷(B)一、单项选择题(每题1分,共30分) 1.C语言程序总是从______开始执行。A)第一条语句B)第一个函数C)主函数D)子程序2.以下选项中正确的C语言标识符是______。A)a+bB)3Dma_C)_25D)ó.以下选项中正确表示字符型常量的是______。 A)’\\t’B)\C)’abc’D)’279’4.以下选项中属于C语言基本数据类型的是 ______。A)逻辑型B)双精度型C)复数型D)集合型5.已知:inta=8,b=5,c;,则执行语句c=a%b+0.3;后,c的值是______。A)1B)1.3C)3D)3.36.设在程序中的a,b,c均被定义为整型并且已赋予大于1的值,能正确表示代数式1 的表达式abc是______。 A)1/a_b_cB)1/(a_b_c)C)1/a/b/(float)cD)1.0/a/b/c7.已知字符’A’的ASCII 码值为十进制数65,则执行语句printf(\______。A)AB)CC)65D)678.已知: inti=1;,则执行语句printf(\A)1B)2C)-1D)-29.以下选项中,和语句__=y+2; 等价的是______。A)_=__y+2;B)y=__(y+2);C)_=y+2__;D)_=__(y+2);10.以下选项中能正确判断字符变量c不是大写字母的表达式是______。 A)c’Z’B)!(c’Z’)C)c>=‘A’||c=‘A’__cvoidmain()—1—{inta=3,b=-1,c =1;if(a=y)__(y>=z)B)(_>=y)AND(y>=z)C)_>=y>=zD)(_>=y)||(y>=z)17.已知:inti=5;,则执行语句 while(ivoidmain(){intn=9;while(n>6){n--;printf(\}A)987B)9876C)8765D)87 619.执行以下程序后,输出结果是______。 _includevoidmain(){inti,s=0;for(i=1;ivoidsub(int_,inty,int_z){_z=y-_;} voidmain(){inta;sub(10,5,_a);printf(\}A)5B)-5C)0D)不确定25.已知: int_,_p;,则以下赋值语句中正确的是______。 A)p=__;B)p=__;C)__=_p;D)_p=__;26.已知:charstr[]=\=str;,则表达式_(ptr+5)的值为______。A)’o’B)’\\0’C)’o’的地址D)不确定27.执行以下程序后,输出结果是______。 _include_defineF(_)_+_voidmain(){inta=5;printf(\}A)5B)10C)15D)____.有

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

C语言程序设计模拟试卷及答案(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,从键盘输入数据的正确形式应是_a=1,b=3,c=2__. 一、填空题 (1)整型、实型、字符型。 (2)int,2,-32768~ +32767 (3)1111111111011101 (4)- 112 (5)14,‘m’ (6)“a”是字符串常量,而‘a’是字符常量。 (7)存放地址值的变量或常量,或者答地址。 (8)取运算对象的地址。取指针变量所指的内容。a=1,b=3,c=2 C、C D、B、D 、A C、C、D A C、C、 D、C、B C、D D C、B 二、选择题 1、设整型变量a为5,使b不为2的表达式是(C)。 A. b=a/2 B. b=6-(——a) C. b=a%2 D. b=a>3?2:1 2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(C)组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D.同一行上的if 3、以下程序的输出结果是(D)。 int x=10,y=10; printf(“%d%d\n”,x——,——y); A. 1010 B. 99 C. 910 D. 109 4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(B)。 A.P+i*2 B.P+(i-1)*2 C.P+(i-1) D.P+i 5、选出下列标识符中不是合法的标识符的是(D)。 A. hot_do B. cat1 C. _pri D. 2ab 6、以下程序的输出结果是(B)。

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

计算机科学类专业《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语言程序设计试卷含答案

C语言程序设计试卷含答案 一、选择题(共20题,每题2分,共40分。下面每题后面用小括号内标注了正确答案) 1. 下列关键字中,用于定义变量的是(A) A. int B. if C. while D. for 2. 变量的作用域是指变量的(C) A. 大小 B. 类型 C. 可访问范围 D. 值 3. 下列语句中,用于输出字符的是(B) A. scanf B. printf C. input D. output 4. 已知整型变量a和b,那么a += b; 等价于(D) A. a = a + b; B. a -= b; C. a = a - b; D. a = a + b; 5. 在C语言中,用于表示“不等于”的运算符是(C) A. = B. == C. != D. >= 6. 下面哪个for循环语句是正确的(A) A. for(int i=0; i<10; i++) B. for(int i<10; i++) C. for(int i=0; i<10) D. for(i=0; i<10; i++) 7. 下列选项中,表示“或”运算符的是(D) A. & B. && C. | D. ||

8. 在C语言中,用于声明宏定义的关键字是(B) A. define B. #define C. const D. int 9. 如果要判断一个整数是否为负数,正确的if条件语句是(C) A. if(n > 0) B. if(n => 0) C. if(n < 0) D. if(n <= 0) 10. 下列哪个不是C语言的基本数据类型(D) A. int B. float C. char D. string 11. 下列关键字中,用于定义函数的是(C) A. main B. include C. void D. for 12. 在C语言中,表示“或者”的条件语句是(B) A. if B. else if C. switch D. while 13. C语言中的“++”运算符表示(A) A. 自增 B. 自减 C. 相加 D. 相减 14. 下列哪个语句用于在C语言中声明字符类型的变量(C) A. String name; B. var name; C. char name; D. character name; 15. 下列哪个不是C语言的关键字(D) A. enum B. long C. double D. true 16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)

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语言试题及答案详解 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语言模拟考试及答案

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()

相关主题