搜档网
当前位置:搜档网 › C语言程序设计模拟试题6(附答案)

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语言表达式是()

A)sqrt(abs(n^x+e^x))

B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x)+exp(x)))

D)sqrt(fabs(pow(x,n)+exp(x)))

7.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()A)k++ B)k+=1 C)++k D)k+1

8.有以下程序,其中%u表示按无符号整数输出()

main()

{unsigned int x=0xFFFF; /* x的初值为十六进制数*/

printf(“%u\n”,x);

}

程序运行后的输出结果是

A)-1 B)65535 C)32767 D)0xFFFF

9.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()A)if(x++); B)if(x>y&&y!=0);

C)if(x>y)x-- D)if(y<0){;}

else y++; else x++;

10.以下选项中,当x为大于1的奇数时,值为0的表达式()

A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0

11.以下叙述中正确的是()

A)break语句只能用于switch语句体中

B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C)break 语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

12.有以下程序

main()

{int k=5,n=0;

do

{switch(k)

{case1: case3:n+=1; break;

default:n=0;k--;

case2:case4:n+=2;k--;break;

}

printf(“%d”,n);

}while(k>0&&n<5);

}

程序运行后的输出结果是()

A)222 B)0235 C)02356 D)2356

13.有以下程序

main()

{int i,j;

for(i=1;i<4;i++)

{for(j=i;j<4;j++)printf(“%d*%d=%d”,i,j,i*j);

printf(“\n”);

}

}

程序运行后的输出结果是()

A)1*1=1 1*2=2 1*3=3 B)1*1=1 1*2=2 1*3=3

2*1=2 2*2=4 2*2=4 2*3=6

3*1=3 3*3=9

C)1*1=1 D)1*1=1

1*2=2 2*2=4 2*1=2 2*2=4

1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9

14.以下合法的字符型常量是()

A)”\x13” B)”\018” C)”65” D)”\n”

15.在C语言中,函数返回值的类型最终取决于()

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主函数所传递的实参类型

D)函数定义时形参的类型

16.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()

A)c=(c-A)%26+‘a’ B)c=c+32

C)c=c-‘A’+‘a’ D)c=(‘A’+c)%26-‘a’

17.有以下函数

int fun(char *s)

{char *t=s;

while(*t++);

return(t-s);

}

该函数的功能是()

A)比较两个字符的大小 B)计算s所指字符串占用内存字节的个数

C)计算s所指字符串的长度 D)将s所指字符串复制到字符串t中

18.设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是()A)float *p=1024; B)int *p=(float x);

C)float p=&x; D)float *P=&x;

19.有以下程序

#include

main()

{int n,*p=NULL;

*p=&n;

printf(“Input n:”); scanf(“%d”,&p); printf(“output n:”); printf (“%d\n”,p);

}

该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()A)int n,*p=NULL; B)*p=&n; C)scanf(“%d”,&p) D)printf(“%d\n”,p); 20.以下程序中函数f的功能是:当flag为1时,进行有由小到大排序;当flag为0时,进行由大到小排序。

void f(int b[],int n,int flag)

{int i,j,t;

for(i=0;i

for (j=i+1;j

if(flag?b[i]>b[j]:b[i]

main()

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

f(&a[2],5,0); f(a,5,1);

for(i=0;i<10;i++)printf(“%d,”,a[i]);

}

程序运行后的输出结果是()

A)1,2,3,4,5,6,7,8,9,10,

B)3,4,5,6,7,2,1,8,9,10,

C)5,4,3,2,1,6,7,8,9,10,

D)10,9,8,7,6,5,4,3,2,1,

三、修改下列程序:(在程序出错的语句下划横线并标号,把修改后的语句下载程序下面的横线上。)(每小题5分,共10分)

1.下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

#include

#include

void fun (char s)

{ int i,j;

for (i=0,j=0;s[i]!=‘\0';i++)

****************************************

if (s[i]>=‘0' && s[i]<='9')

s[j]==s[i];

***************************************

s[j]= “\0”;

}

main()

{char item[80];

clrscr();

printf(“\nEnter a string:”);gets(item);

printf(“\n\nThe string is :\%s\n”,item);

fun (*item);

printf(“\n\nThe string of changing is :\%s\n”,item);

}

2.下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AAaaBBb123CCccccd,则应该输出结果:upper=6,lower=8。

#include

#include

**********************************

void fun (char *s,int a, int b)

{ while(*s)

{ if (*s>=‘A' && *s<=‘Z')

***********************************

a++;

if (*s>=‘a' && *s<=‘z')

************************************

b++;

s++;

}

}

main()

{ char s[100];int upper=0,lower=0;

clrscr();

printf(“nPlease a string:”);gets(*s);

fun(s,&upper, &lower);

printf(“n upper=%d lower=%dn”,upper,lower);

}

四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(每小题4分,共16分)

1. #include

void main()

{ int s=1,t=1,a,n;

scanf(“%d%d”,&a,&n);

for(int i=1;i

{

t=t*10+1; s=s+t;

}

s*=a; printf(“SUM=%d\n”,s);

}

输入数据:2,4

输出结果:

2.#include

void main()

{ int a,b,c,find(int,int,int);

scanf(“%d%d%d”,&a,&b,&c);

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

}

int find(int a,int b,int c)

{ int u,s,t;

u=((u=(a>b)?a:b)>c)? u:c;

t=((t=(a

s=a+b+c-u-t; a=u;

b=s; c=t; return s;

}

运行时输入: 5 –7 3,输出结果:

3.#include

void main()

{int a[5]={2,4,6,9,12},b[6]={2,3,4,6,8,9};

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

for(int j=0;j<6;j++)

if(*(a+i)==*(b+j)) printf(“%d ”,*(a+i));

printf(“\n”);

}

输出结果:

4. #include

#include

void main()

{ char str1[]=“*******”;

for(int i=0;i<4;i++) {

printf(“%s\n”,str1);

str1[i]= ‘ ';

str1[strlen(str1)-1]= ‘\0';

}

}

输出结果:

五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。(每空1分,共6分)

1.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确内容。

A a f

c B d

e b c

g f D

main()

{

static char ss[4][3]={‘A',‘a',‘f',‘c',‘B',‘d',‘e',‘b',‘C',‘g',‘f',‘D'};

int x,y,z;

for(x=0;;x++)

for(y=0;;y++)

{z=x+y;if()

printf(“%c\n”,ss[x][y]);

}

}

2.以下函数的功能是删除字符串s中的所有数字字符。请填空。

void dele(char *s)

{ int n=0,i;

for(i= ,s[i];i++)

if( )

s[n++]=s[i];

s[n]= ;

}

六、按要求编写下列程序。(每题6分,共12分)

1.输出右图。 * * * *

* * *

* *

*

2.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔的输出该串,请用指针完成。

试卷六参考答案:

一、填空题

1. 分号

2. 2.5

3. 0

4. n1=%d\nn2=%d\n

5. k *k

6. -12

7. 无数次

二、单项选择题

1-5 DBCAD

6-10 CABCD

11-15 CABDA

16-20 ACDAB

三、程序修改

1.修改后的程序如下:

#include

#include

void fun (char s[])

{ int i,j;

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

if (s[i]>='0' && s[i]<='9')

s[j++]=s[i];

s[j]= '\0';

}

main()

{char item[80];

clrscr();

printf("\nEnter a string:");gets(item);

printf("\n\nThe string is :\%s\n",item);

fun (item);

printf("\n\nThe string of changing is :\%s\n",item); }

2.修改后的程序如下:

#include

#include

void fun (char *s,int *a, int *b)

{ while(*s)

{ if (*s>='A' && *s<='Z')

(*a)++;

if (*s>='a' && *s<='z')

(*b)++;

s++;

}

}

main()

{ char s[100];int upper=0,lower=0;

system("cls");

printf("nPlease a string:");gets(s);

fun(s,&upper, &lower);

printf("\n upper=%d lower=%d\n",upper,lower); }

四、阅读程序

1.

SUM=2

2.

3

5 -7 3

3.

2 4 6 9

4.

*******

*****

***

*

五、

1.

x<=3

y<=2

z==3

2.

s[i]>'9'||s[i]<'0'

'\0'

六、

1.

#include

#include

void main()

{ char str1[]="****";

int i;

for( i=0;i<4;i++) {

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

str1[strlen(str1)-1]= '\0';

}

}

2.

#include

#include

void main()

{ char str[]="computer";

char *s=str;

while((*s)!='\0')

printf("%c ",*s);

s++;

}

C语言程序设计模拟题(含答案)

C语言程序设计模拟题(含答案) C语言程序设计试题 一、单项选择题(本题共25小题,每小题2分,共50分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡上。错选、多选或未选均无分。 1. 以下正确的C语言自定义标识符是__A____。 A. _1a B. 2a_ C. do D. a.12 2. 在C语言中,错误的常数表示是___D____。 A. 0L B.-0x6aL C. '6' D. 1.234E3.5 3. 设int a, x=2; 执行语句a=x>0?3*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,由键盘输入:12.45, 能正确读入数据的输入语句是___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>0?x:-x C. x<0?x:-x D. x<0?-x:-x 11.执行下面的程序段后,k的值是__A_____B。

C语言程序设计习题答案(6-13)

C语言程序设计习题答案 习题六数组 一、选择题 1~10: BDBCD CDBAB 11~20:BCDCC DABBC 21~30:CCADC ABBCB 31~41:BDDDD CDCCB A 二、填空题 1. 9 、 0 2.先行后列 3.连续的存储空间中 4. QuickC 5. (c=getchar( )) 、‘A’+i或65+i 6. ‘\0’、 str1[i]-str2[i] 7. CDABC 8. 10 14 9. 6 10. 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 11. 600 12. AzyD 13 4 some string *test 三、编程题 1. 定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。 答:程序参见文件Cprogram\ #include "" #include "" main() {int i,s0=0,s1=0,a[20]; for(i=0;i<20;i++) a[i]=rand()%100; for(i=0;i<20;i+=2) {printf("%3d",a[i]); s0=s0+a[i]; } printf(" sum is:%d ave=%f\n",s0,s0/; for(i=1;i<20;i+=2) {printf("%3d",a[i]); s1=s1+a[i]; } printf(" sum is:%d ave=%f\n",s1,s1/; }

2. 设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出no found。 答:程序参见文件Cprogram\ #include "" #include "" main() {int i,s,a[20]; for(i=0;i<20;i++) a[i]=rand()%100; scanf("%d",&s); for(i=0;i<20;i++) if(a[i]==s) {printf("found:a[%d]=%d\n",i,a[i]); break; } if(i==20) printf("no found\n"); for(i=0;i<20;i++) printf("%3d",a[i]); printf("\n"); } 3. 设有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。 答:程序参见文件Cprogram\ #include "" #define N 10 main() {int i, j, s, a[N]={17,15,13,11,9,7,5,3,1}; 编一程序,从一个已排好序的数组中删去某个位置上的元素。 答:程序参见文件Cprogram\ #include "" #define N 10 main() {int i, j, a[N]={1,3,5,7,9,11,13,15,17,19}; for(i=0;i

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语言程序设计试题含答案

C语言程序设计试题含答案 C语言程序设计试题含答案(一) 一、填空题 1.以下程序输入3个整数值给a,b,c,变量b中的'值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。 #include stdio.h main() { int a,b,c,__①_d___; printf("enter a,b,c");scanf("%d%d%d",a,b,c); ___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____; printf("%d,%d,%d",a,b,c); } 2.求出200以内的整数中,最大的可以被17整除的数是哪个数。 #include stdio.h ___①main()____ {int i; for(_i=200___②____;___③i=0_______;i--) {if(____i%17==0____④________) break;}

printf("%d\n",__⑤_i____); } 3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i20;i++) scanf("%d", __①_a[i]__ ); for(i=0;__ ②_i20_;i++) ? { if(a[i]0) ?? { count++; ?? sum+= _a[i]__③___ ; ?? } ? } printf("sum=%d,count=%d\n",__sum④___,__⑤__count___); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n) { int m=0,i;

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

C语言程序设计试题试题及答案 C 语言程序设计试卷,C++ 语言程序设计试题及答案 一、单项选择题(每题1分,共20 分) 1. C 语言规定:在一个源程序中,main 函数的位置( C ) 。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B ) 。 A. +1e+1 5e-9.4 03e2 B. -.60 12e-4 -8e5 C. 123e 1.2e-.4 +2e-1 D. -e3 .8e-4 5.e-0 3. 若a=-14,b=3, 则条件表达式a<="" a:b+1="" p="" 的值为(a=""> A. -14 B. -13 C. 3 D. 4 4. 已知:int n,i=1,j=2; 执行语句n=i A. 1,2 B. 1,3 C. 2,2 D. 2,3 5. 为了判断两个字符串s1 和s2 是否相等, 应当使用( D ) A. if (s1==s2) B. if(s1=s2) C. if (strcmp(s1,s2)) D. if (strcmp(s1,s2)==0)

6. 以下正确的描述是( B ) 。 A. 函数的定义可以嵌套,但函数的调用不可以嵌套。 B. 函数的定义不可以嵌套,但函数的调用可以嵌套。 C. 函数的定义和函数的调用均不可以嵌套。 D. 函数的定义和函数的调用均可以嵌套。 7. 在C语言中,下面对函数不正确的描述是(D)。 A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。 B. 允许函数递归调用。 C. 函数形参的作用范围只是局限于所定义的函数内。 D. 子函数必须位于主函数之前。 8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A) A. 该变量只在该复合语句中有效 B. 该变量在该函数中有效 C. 该变量在本程序范围内均有效 D. 该变量为非法变量 9. 以下正确的函数形式是( D ) 。 A. double fun(int x,int y) { z=x+y;return z;} B. fun(int x,y) { int z; return z;} C. fun(x,y) { int x,y; double z; z=x+y; return z;} D. double fun( int x,int y) {double z; z=x+y; return z; } 10. 以下程序的输出结果是 ( B ) 。 #include #define F(y) 8.19-y #define PRINT(a) printf("%d",(int)(a)) void main(void) { int x=2; PRINT(x*F(3)); } A. 10

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1.以下正确的C语言标识符是() A.%X B.a+b C.a123 D.test! 2.已定义int a,b;则以下不正确的C语句是() A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a; 3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为() x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52 4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A.必须是字母B.必须为下划线 C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符 5.下面正确的字符常量是() A.“c” B.’\\”C.‘w’D.” 6.设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为()。 A.0,1 B.1,0 C.2,0 D.不确定 7. 以下不正确的C语言标识符是( ) A) int B) a_1_2 C) ab1exe D) _x 8.以下是正确的C语言标识符是( )。 A) #define B) _123 C) %d D) \n 9.下列四组字符串中都可以用作C语言程序标识符的一组是( ) 。

A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ••• oodbs tart$it line# pow 10.下面各选项组中,均是C语言关键字的组是( ) 。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 11.下列不属于C语言关键字的是( ) 。 A) default B) register C) enum D) external 12.C语言程序从main()函数开始执行,所以这个函数要写在( )。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 13.下列关于C语言的叙述错误的是( ) A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 14.在C语言中,错误的int类型的常数是( ) 。 A) 32768 B) 0 C) 037 D) 0xAF 15.将字符g赋给字符变量c,正确的表达式是( ) 。 A) c=\147

《C语言程序设计》练习测试题及答案

专科《C语言程序设计》练习测试题及答案 一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项) 1.一个C程序的执行是从 A 。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 2.以下叙述正确的是 C 。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.以下叙述不正确的是 D 。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 4.C语言规定:在一个源程序中,main函数的位置 C 。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 5.一个C语言程序是由 B 。 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 6.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 A 。 A)char

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

全国计算机等级考试二级C语言程序设计真题精选6 一、单项选择题 1.有以下程序:#includ#defin4voifun(ina[][N],inb[]) ini; for(i=0;imain()chaa=4; printf ("%",a=a<<1);}程序运行的结果是()。 A.40 B.16 C.8 √ D.4 解析:左移一位相当于原数乘以2,右移一位相当于除以2。a<<1结果为 4*2=8,没有超过char类型的范围。 3.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。 A.12345ABCDE B.EDCBA54321 √ C.ABCDE12345 D.54321EDCBA 解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。

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语言程序设计》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. 用于输出表达式值的标准输出函数是()。C A. scanf() B. print() C. printf() D. output() 6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。B A. # B. % C. $ D. @ 7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。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语言中,表示换行符的转义字符为()。C A. \f B. \r C. \n D. \m 11. 字符串“a+b=12\n”的长度为()。B A. 6 B. 7 C. 8 D. 9 12. 要定义a和b为两个整型变量,则使用的定义语句为()。B A. int a;b; B. int a,b; C. int a b; D. int a:b; 13. 下列数值中最大值是()。C A. 28/8 B. 35/13 C. 28%8 D. 35%5 14. 下列数值中最小值是()。D

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言理论考试模拟试题答案 一、判断题 共10题,每题1分,共10分。正确的请选择A,错误的请选择B。 1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。A A、正确 B、错误 解答:A 2、在程序中else 子句可以单独使用。B A、正确 B、错误 解答:B 3、C 语言源程序文件通过了编译、连接之后, 生成一个后缀为.EXE 的文件。( ) A A、正确 B、错误 解答:A 4、_ya是不合法的C语言标识符。B A、正确 B、错误 解答:B 5、在数组初始化时,如果初值个数多于数组长度,将出现错误。A A、正确 B、错误 解答:A 6、C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。B A、正确 B、错误 解答:B 7、若有定义int *p, 则表达式p++ 的值就是p 所指向的变量的地址值加1。B A、正确 B、错误 解答:B 8、'\n'不是一个字符常量。B A、正确 B、错误 解答:B 9、表达式(z=0, (x=2)||(z=1),z) 的值是1。B A、正确 B、错误 解答:B 10、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。 A、正确 B、错误

二、单选题 请从给定的选项中选择一个唯一正确的选项。每小题2分,共10题,20分。 1、 C下面有关变量的命名,不合法的是:( ) A. _int B. __intint C. __int&int D. ___intintint C 解答:C 2、有变量定义int a;float c;下面输入语句有语法错误的是( )。 A. scanf("%d,%f", &a, &c); B. scanf("x=%d, c=%f", &a, &c); C. scanf("%d%f", &a, &c); D. scanf("%f %d",&a, &c); D 解答:D 3、下面关于函数参数使用的说法,不正确的是:() A. 函数调用时实参按顺序传递到形参; B. 函数调用时实参把值传递给形参; C. 函数的实参和形参个数可以不一致,但使用时应尽量一致; D. 函数的实参和形参可以同名; C 解答:C 4、已知int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( )。 A. 0 B. 1 C. 2 D. 无限次 B 解答:B 5、下面定义的max函数返回值的数据类型是() max(float a,float b) { return(a>b?a :b) ; } A. int B. float

全国计算机等级考试2020年二级C语言程序设计模拟试题_真题含答案与解析)-交互6

全国计算机等级考试2020年二级C语言程序设计模拟试题 (总分100, 做题时间120分钟) 选择题 1. 下列语句组中,正确的是 SSS_SINGLE_SEL A char*s;s="Olympic"; B char s[7];s="Olympic"; C char*s;s={"Olympic"}; D char s[7];s={"Olympic"}; 分值: 1 答案:A 字符型指针变量可以用选项 A 的赋值方法: char *s;s="Olympic",选项C 的写法: char*s;s={"Olympic"};是错误的。字符数组可以在定义的时候初始化: chars[]={"Olympic"};或者 char s[]="Olympic",都是正确的,但是不可以在定义字符数组后再对数组名赋值(数组名是常量,代表数组首地址)。所以 B、 D 选项都是错误的。对于本例,选项 B、D 中字符数组 s 的大小至少为 8,才能存放下字符串。 (字符串的末尾都有结束标识'\0')。所以选择 A 选项。 2. 以下所列对结构类型变量 tdl 的声明中错误的是 SSS_SINGLE_SEL A typedef struct aa {int n;float m;}AA; B #define AA struct aa AA{int n;float m;)tdl; AAtdl; C

{int n; float m;)aa; D struct {int n;float m;}tdl; struct aa tdl; 分值: 1 答案:C 3. 以下程序运行后的输出结果是 #include<stdjo.h> void reverse(int a[],int n) {int i,t; for(i=0;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } mam() {int b[10]={10,9,8,7,6,5,4,3,2,1);int i,s=0; reverse(b,10); for(i=0;i<3;i++) s+=b[i]; printf("%d\n",s); } SSS_SINGLE_SEL A 27 B 6 C 25 D 30 分值: 1 答案:B 4. 下列选项中,由 C 语言提供的合法关键字的是 SSS_SINGLE_SEL A

C语言程序设计(判断题专项练习)及答案

计算机C语言(判断题专项练习)及答案(一) 一、基础知识(每小题1 分,共 10分) ()1、程序调试就是找出并改正c源程序中的语法错误。 ()2、一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。 ()3、在标准c语言中,共用体变量中的各成员是共同占用一块存储空间 ()4、赋值运算符的结合方向为自右向左。 ()5、c语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母或下划线。 ()6、在c程序中, aph和Aph 是两个相同的变量 ()7、计算机语言(computer language)是人与计算机之间通讯的语言。 ()8、在c语言中,当一个逻辑表达式的值为"假"时,该表达式的值一定是 0 ()9、在c程序中,abc与ABC是两个相同的变量。 ()10、c语言中sizeof 是函数,而不是运算符。 二、控制结构(每小题1 分,共 10分) ()1、if 语句后面的表达式只能是关系表达式 ()2、在switch语句中,可以根据需要使用或不使用break语句。 ()3、在标准c中,逻辑表达式中只允许出现逻辑型数据。 ()4、逻辑表达式的值只能为1或0。 ()5、c程序中if语句可以单独存在。 ()6、省略else的if语句的一般形式如下,若表达式的值为"真",则执行语句1; 否则,就什么也不做。if (表达式) 语句1 ()7、在if语句中,必须出现else。 ()8、内层break语句可以终止嵌套的switch,使最外层的switch结束。

()9、switch语句中的default必须出现在所有case之后。 ()10、switch语句中,每一个case的冒号后面都必须至少跟有一条语句。三、循环结构(每小题1 分,共 10分) ()1、for循环的三个表达式可以任意省略,while,do-while也是如此。 ()2、选择结构( if 语句)和循环结构都可以使用嵌套形式 ()3、在循环过程中,使用break语句和continue语句的作用是一样的 ()4、无论哪种循环语句,都必须给出循环结束条件。 ()5、break 语句不能够单独使用,只能用于循环语句和switch 语句 ()6、break是跳出当前循环,接着执行循环后面的代码。 ()7、break语句可用于循环体内,它将退出该重循环。 ()8、若有 int k = 1; while(k=1) k++ ; 则while 循环执行的次数是1 次 ()9、do-while循环的while后的分号可以省略。 ()10、do-while 语句构成的循环至少执行一次 四、数组/指针数组(每小题1 分,共 10分) ()1、在定义二维数组时,可以将该数组的两个维数全部省略 ()2、对于已正确定义的二维数组a, *(a[i]+j)与a[i][j]的含义相同。 ()3、数组名是一个指针,它可以指向数组中的任何元素。 ()4、一维数组指的是只有一个下标的数组,用来表示一组具有相同类型的数据。()5、在标准c语言中,二维数组在内存中的存放次序是以行序为主序。 ()6、在定义数组时,什么时候都不可以将该数组的维数省略。 ()7、在定义数组时,有时可以将该数组的维数省略。 ()8、定义二维数组时,如果对全部元素赋初值,则可以省略行数。

C语言实验6(附参考答案)

实验6:运算符与表达式(5)实验目的: 1、熟悉字符的输入输出和格式化的输出,了解基本规则。 2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。 实验内容: 1、 getchar函数的作用是从终端输入____1______个字符。 2、如果从键盘输入字符’a’并按回车键,请写出以下程序运 行效果_____a_____。 main() { putchar(getchar()); } 3、以下程序的输出结果为 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,ASCII=%c\n”,c,c,c); } 4、以下程序的输出结果为。 main() { int x=1,y=2;

printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y); printf(“10 Squared is:%d\n”,10*10); } 5、以下程序的输出结果为____________________。 #include main() { float a=123.456; double b=8765.4567; printf(“(1) %f\n”,a); printf(“(2) %14.3f\n”,a); printf(“(3) %6.4f\n”,a); printf(“(4) %lf\n”,b); printf(“(5) %14.3lf\n”,b); printf(“(6) %8.4lf\n”,b); printf(“(7) %.4f\n”,b); } 二、程序设计题

1、若a=3,b=4,c=5,x=1.2,y=2.4,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 要求输出的结果如下:□表示空格 a=□3□□b=□4□□c=□5 x=1.200000,y=2.400000,z=-3.600000 x+y=□3.60□□y+z=-1.20□□z+x=-2.40 u=□51274□□n=□□□128765 c1=’a’□or□97(ASCII) c2=’B’□or□98(ASCII) 2、假定有:int a=1,b=2,设计一个程序,将变量a和b的值互换并且输出来。 3、已知变量a=23. 4、b=54.33、c=434.33,求它们的平均值。并按如下形式输出: average of **、** and ** is **.** 。

C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷 计算机程序设计课程56 学时 3.5 学分考试形式:闭卷 一、选择题(15小题,每小题2分,共计30分) 1.下面不正确的字符串常量是 A 。 A)'abc' B)"12'12" C)"0" D)" " 2.以下正确的叙述是 D A)在C程序中,每行中只能写一条语句 B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示 D)在C程序中,%是只能用于整数运算的运算符 3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 A A)D B)68 C)不确定的值 D)C 4.sizeof(float)是 B : A)一个双精度型表达式 B)一个整型表达式 C)一种函数调用 D)一个不合法的表达式 5.以下说法正确的是 D : A)输入项可以为一实型常量,如scanf("%f",3.5); B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f); D)当输入数据时,必须指明变量的地址,如scanf("%f",&f); 6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:表示回车)。 int a1,a2; char c1,c2; scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2); A) 1020AB B)10 20AB C)10 20 AB D)10 20AB 7.请阅读以下程序: void main() {int a=5,b=0,c=0; if(a=b+c) printf("***\n"); e1se printf("$$$\n"); 以上程序 D : A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ 8.下面程序段的运行结果是 C 。

C语言程序设计模拟题

C语言程序设计模拟题 1.由C语言编写的代码程序()。 A.可直接执行 B.是一个源程序 C.经过编译即可执行 D.经过编译解释才能执行 【答案】B。解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。 2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。 A.大写字母 B.中划线 C.数字字符 D.下划线 【答案】B。解析:C语言的自定义标识符只能有字母、数字、下划线。 3.下列选项中,不能用作标识符的是()。 A._1234_ B._1_2 C.int_2_ D.2_int_ 【答案】D。解析:标识符只能以字母或下划线开头。 4.以下选项中合法的用户标识符是()。 A.long B._2Test C.3Dmax D.A.dat 【答案】B。解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。 5.以下不能定义为用户标识符的是()。 A.Main B._0 C._int D.sizeof 【答案】D。解析:sizeof为关键字,不能用作用户标识符。 6.下列定义变量的语句错误的是()。 A.int _int; B.double int_; C.char For; D.float US$; 【答案】D。解析:标识符只能有字母、数字、下划线。 7.在C语言中,合法的实型常数是()。 A.5E2.0 B.E-3 C.2E0 D.1.3E 【答案】C。解析:实型常量e的前面要有数,e的后面为整数。 8.在C语言中,合法的实型常数是()。 A.1.2E0.5 B.3.14159E C.5E-3 D.E15 【答案】C。解析:实型常量e的前面要有数,e的后面为整数。 9.以下选项中,不能作为合法常量的是()。 A.1.234e04 B.1.234e0.4 C.1.234e+4 D.1.234e0 【答案】B。解析:实型常量e的前面要有数,e的后面为整数。 10.以下不合法的数值常量是()。 A.011 B.1e1 C.8.0E0.5 D.0xab

C语言程序设计第6章 练习题

一、单项选择题 题目1 在下面的函数声明语句中存在着语法错误的就是( )。 a、AA(int, int) b、AA(int a; int b) c、AA(int a, int) d、AA(int a, int b) 题目2 如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为( )。 a、extern b、static c、default d、auto 题目3 假定一个函数定义为“extern char* f1(char* x){return x;}”,表示该函数作用域的关键字为( )。 a、extern b、char c、int d、char*

题目4 假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的就是( )。 a、ff(a) b、ff(a[0]) c、ff(&a[0]) d、ff(a+3) 题目5 假定一个函数原型语句为“int f1(int a[],int n);”,与数组参数等价的表示为( )。 a、int** a b、int& a c、int* a d、int a 题目6 假定一个函数的参数说明为const int a,则在函数体中不能进行的操作就是( )。 a、a==0 b、a=10 c、printf("%d",a) d、int x=a 题目7 在函数体中定义的变量具有( )。

a、文件作用域 b、局部作用域 c、函数作用域 d、全局作用域 题目8 在函数外定义的变量,若带有作用域关键字static,则它具有( )。 a、全局作用域 b、文件作用域 c、函数作用域 d、局部作用域 题目9 在函数体中定义一个静态变量时,选用的存储属性关键字为( )。 a、static b、register c、extern d、auto 题目10 假定一个函数原型为“void ff(int a[],int n)”,则对应的函数指针类型为( )。 a、*ff(int[],int) b、void (*ff)(int*a,int)

相关主题