当前位置:文档之家› C语言考试试题

C语言考试试题

试题课程名称C语言程序设计适用时间试卷类别 A 适用专业、年级、班一、选择题(每小题2分, 2×25=50分)1.下列叙述错误的是( )。

A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符C) C程序中的变量必须先定义,后使用D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写2.以下叙述不正确的是( )。

A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3.C语言中最简单的数据类型包括( )。

A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型4.C语言中运算对象必须是整型的运算符是( )。

A)%= B)/ C)= D)<=5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。

A)a= =1 B)++i;C)a=a++=5;D)a=int(i);6.下列运算符中优先级最高的是( )。

A) < B) + C) && D) ! =7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。

A) int B) float C) double D) char8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。

A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。

A)8,8 B)8,7 C)9,9 D)8,910.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。

A)10 20 B)10,20 C)1020 D)10:2011.判断char型变量ch是否为大写字母的正确表达式是( )。

A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch)12.有如下程序main( ){ int x=1,a=0,b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++;b++; }printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是( )。

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=213.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main( ){ int n,k; float score,sum,ave;sum=0.0;for(n=1;n<=10;n++){ for(k=1;k<=4;k++){ scanf("%f",&score);sum+=score; }ave=sum/4.0;printf("NO%d:%f\n",n,ave); }} 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是( )。

A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);14.要使下面程序段输出10个整数,则在下划线处填入正确的数是( )。

for(i=0;i<=____ ;)printf("%d\n",i+=2);A) 9 B) 10 C) 18 D) 2015.对以下说明语句的正确理解是( )。

int a[10]={6,7,8,9,10};A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[10] D)因为数组长度与初值的个数不相同,所以此语句不正确16.对两个数组a和b进行如下初始化char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是( )。

A) a与b数组完全相同B)a与b长度相同C) a和b中都存放字符串D)a数组比b数组长度长17.运行下面程序段的输出结果是( )。

char s[12]="string";printf("%d",strlen(s));A) 12 B) 7 C) 6 D) 518.已定义以下函数fun(char *p2, char *p1){ while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是( )。

A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'19.下列程序的运行结果是( )。

void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A)6 3 B)3 6 C)编译出错D)0 020.有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是( )。

A)*p+9B)*(p+8)C)*p+=9D)p+821.在说明语句:int *f( ); 中,标识符f代表的是( )。

A) 一个用于指向整型数据的指针变量。

B) 一个用于指向一维数组的行指针。

C) 一个用于指向函数的指针变量。

D) 一个返回值为指针型的函数名。

22.若有说明:int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是( )。

A) i=*p; B) *p=*&j; C) i=&j; D) i=**p;23.若有以下程序段,执行后的输出结果是( )。

char s1[20]="BEIJING",*s2="SHANGHAI";printf("%d",strlen(strcpy(s1,s2)));A)8 B)7 C)15 D)924.在下列定义中的共用体所占内存字节数是( )。

union{ char k[6];struct{int m;float f; }a;double d; }b;A)8 B)14 C)18 D)1025.下列关于C语言数据文件的叙述中正确的是( )。

A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为ASCII码文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(每空1.5分,共1.5×10=15分)1. 3.5+1/2的计算结果是【1】。

2.设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为【2】。

3.能正确表示逻辑关系:"a≥5或a≤-1"的C语言表达式是【3】。

4.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【4】。

for(i=0,j=10;i<=j;i++,j--) k=i+j;5.C语言中给出逻辑值“真”时是用【5】表示的。

6.执行“static int b[5],a[][3]={1,2,3,4,5,6} ”后,b[4]=【6】。

7.变量的存储方式可分为动态存储和【7】两种。

8.C规定预处理命令必须以【8】开头。

9.有以下说明定义和语句,可用a.day、引用结构体成员day, 请写出引用结构体成员a.day的其它两种形式【9】、【10】struct {int day;char mouth;int year;} a,*p; p=&a;三、阅读程序写运行结果(每小题3分,共3×5=15分)1.运行下面程序:main( ){ int n1,n2;scanf("%d",&n2);while(n2!=0){ n1=n2%10;n2=n2/10;}printf("%d",n1);}若从键盘上输入298↙ , 则输出结果为【1】。

2.阅读下列程序,运行结果为【2】。

#include "stdio.h"fun(){ static int x=5;x++;return x;}main( ){int i,x;for(i=0;i<3;i++)x=fun();printf("%d\n",x);}3.以下程序执行时输入Language Programming<CR>的结果是______。

#include <stdio.h>main(){ char str[30];scanf("%s",str);printf("str=%s\n",str);}4.下列程序段的输出结果是【4】。

#include "stdio.h"int fun(int a,int b){int z;z=a/b;return z;}main( ){int a=30,b=20,z;z=fun(a+b,a-b);printf("%d\n",z);}5.阅读下面程序,程序的执行结果为【5】。

void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}四、阅读并完善程序(每空2分,共2×6=12分)1.以下程序的功能是输入一个字符串,并将其中的字符’a’用字符串’shu’替代後输出。

相关主题