20076C语言统考试卷
- 格式:doc
- 大小:65.50 KB
- 文档页数:9
2007 年(秋)笔试试卷参考答案及解析第一部分计算机基础知识(1)D)【解析】1 bit 是单个的二进制数值,0 或1。
虽然计算机可以提供指令测试和操作比特,但通常以多个比特的集合——字节来存储数据和执行指令。
在大多数计算机系统中,1B 由8bit 构成。
1bit 数值在存储器中用单个电容器充放电高于或低于某个电平来表示,比特是最小单位,字节是比特的集合也是一个单位。
(2)D)【解析】根据美国半导体协会预测,到2010 年将能达到18 英寸、0.07~0.05 微米的工艺水平。
(3)B)【解析】通信可分为模拟通信和数字通信,计算机网络属于数字通信。
(4)A)【解析】主存储器的基本编址单位是位,也就是它只能存储一个二进制的0 或1。
目前市场上销售的PC 机,其内存容量可达数几百GB。
不是所有PC 的内存条都是通用的,DDR1 和DDR2 是不可以互换的。
(5)D)【解析】现行PC 机中,IDE(或SATA)接口标准主要用于硬盘与主机的连接。
(6)A)【解析】Pentium 系列微机的内存条不相同,比如接口有些都不一样。
主板上芯片组的作用提供存储器控制功能和I/O 控制。
主板上CMOS 芯片用于存储BIOS 设置程序和一些软硬件设置信息。
(7)A)【解析】目前的主流硬盘容量为60~160GB,影响硬盘容量的因素有单碟容量和碟片数量。
(8)C)【解析】在Windows 操作系统(95 以后版本)中文件名最长可以使用255 个字符。
(9)B)【解析】一个算法应该具有以下五个重要的特征。
有穷性:一个算法必须保证执行有限步之后结束;确切性:算法的每一步骤必须有确切的定义;输入:一个算法有0 个或多个输入,以刻画运算对象的初始情况;输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。
没有输出的算法是毫无意义的;可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
(10)B)【解析】目前IP 地址都是 4 组数,每组都是由二进制换算所得,IP 是0~255 的数字。
依安县职业教育中心学校2006-2007学年度下学期期末考试《C语言编程基础》试卷一、单项选择题(每小题2分,共20分)1、下列叙述中不正确的是( )八、分号是C语句的必要纽成部分。
B、C程序中的所有字母区分大小写。
C、在C源程序中注释说明必须位于语句之后。
D、预处理命令不是C语句。
2、以下4组用户标识符中,全部合法的一组是( )A、enelude sinB、If -max turboC、txt REAL 3C0MD、int k_2 _0013、设有以卜-定义int a=0;double b=3. 125;char c二'A';#define d 2;则卜-面语句屮错课的是( )A、a++;B、b卄;C、c++;D、d++;4在C语言中,合法的长整数是( )八、4962574 B、65535 C、0x72L D、057842L5、设x, y, z和t均为整型变量,执行以卜•语句x=y=z=l; t二++x | |++y&&++z;后x, y, z, t 的值为( )A. 2, 2, 2, 1 B、2, 1, 1, 1C、2, 2, 2, 2D、2, 1, 2, 26、在宏定义^define PI 3. 14159屮,宏名Pl代替一个( )A.单精度B、双精度C、字符串D、常量7、以下程度段中与语句k=a>b?(b>c?l: 0): 0;功能等价的是( )A、if ((a>b)&&(b>c)) k=l; else k=0;B、i f ((a>=b|| (b>c)) k二1; else k二0:C、if (a<=b) k=0; else if (b<=c) k=l;D、if (a>b) k=l; else if(b>c) k二1; else k=0;8、下列程序的输出结果为( )main(){ char a□二” abedefg” , b[10]=” abedefg” ;Printf( “%d %d” , sizeof(a), sizeof(b)); }A、7 7B、8 8C、8 10D、10 109、在C语言中,若已定义了如下的数组:float x[6] = {0, 1, 2};则数纽X中的各元素山用的存储空间共为()个字节。
2007级等级考试《C语言程序设计》基础知识练习50101、在C语言源程序中,以下叙述正确的是()。
答案:CA、main函数必须位于文件的开头B、每行只能写一条语句C、程序中的一个语句可以写成多行D、每个语句的最后必须有点号50102、关于C语言的源程序的叙述中,错误的是()。
答案:CA、C语言的源程序由函数构成B、main函数可以书写在自定义函数之后C、必须包含有输入语句D、一行可以书写多个语句50103、关于C语言数据类型的叙述,正确的是()。
答案:CA、枚举类型不是基本类型B、数组不是构造类型C、变量必须先定义后使用D、不允许使用空类型50104、C程序中main函数的位置()。
答案:CA、必须在最开始B、必须在系统库函数后面C、可以在自定义函数后面D、必须在最后50105、C语言的函数体由()括起来。
答案:BA、()B、{ }C、[ ]D、/* */50106、关于C语言的叙述中,不正确的是()。
答案:DA、C程序可由一个或多个函数组成B、C程序必须包含一个main()函数C、C程序的基本组成单位是函数D、注释说明只能位于一条语句的后面50107、以下叙述不正确的是()。
答案:DA、C程序的执行总是从main函数开始B、一个C源程序必须包含一个main函数C、C语言程序的基本组成单位是函数D、在编译C程序源程序时,可发现注释中的拼写错误50108、结构化程序设计的三种基本结构是()。
答案:CA、函数结构、分支结构、判断结构B、函数结构、嵌套结构、平行结构C、顺序结构、分支结构、循环结构D、分支结构、循环结构、嵌套结构50109、对于C语言源程序,以下叙述错误的是()。
答案:CA、可以有空语句B、函数之间是平等的,在一个函数内部不能定义其它函数C、程序调试时如果没有提示错误,就能得到正确结果D、注释可以出现在语句的前面50201、下面关于C语言用户标识符的描述,正确的是()。
答案:DA、不区分大小写B、用户标识符不能描述常量C、类型名也是用户标识符D、用户标识符可以作为变量名50202、以下()是正确的变量名。
吉林大学农学部2007—2008学年第二学期《C 语言程序设计》考试试卷(A 卷)(考试时间:120分钟,本卷共3页,共印 份)10道小题,每道小题2分,满分20分)1.下列叙述中不正确的是( )A) 一个C 源程序可由一个或多个函数组成 B) 一个C 源程序必须包含一个main 函数 C) C 程序的基本组成单位是函数D) 在C 程序中,注释说明只能位于一条语句的后面2.若有定义:int a=7; float x=2.5, y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( ) A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000 3.若有代数式bcae 3,则不正确的C 语言表达式是( )A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*34.若有定义:int m=5, y=2; 则计算表达式y + = y - = m * = y 后的y 值为( ) A) -15 B) -8 C)10 D) -165.执行以下程序段后,变量a, b, c 的值分别是( ) int x=10, y=9; int a,b,c;a = (--x= =y++) ? - -x : ++y; b=x++; c=y;A) a=9,b=9,c=9 B) a=8,b=8,c=10 C) a=9,b=10,c=9 D) a=1,b=11,c=10 6.有以下程序 main() { int i;for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } }执行后输出结果是( ) A) 011122 B) 012 C) 012020 D) 120 7.下面程序的运行结果是( ) int x=-1; do{ x=x*x; } while(!x);A) 是死循环 B) 循环执行二次 C) 循环执行一次 D) 有语法错误 8.若有以下程序段: … …int a[]={4,0,2,3,1}, i, j, t; for(i=1; i<5; i++) {t=a[i]; j=i-1;while(j>=0 && t>a[i]) {a[j+1]=a[j]; j--; }a[j+1]=t; }… …则该程序段的功能是( )A) 对数组a 进行插入排序(升序) B) 对数组a 进行插入排序(降序) C) 对数组a 进行选择排序(升序) D) 对数组a 进行选择排序(降序)9.若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为( )。
2007年9月全国计算机等级考试二级C语言笔试考试试卷2007年9月全国计算机等级考试二级C语言笔试考试试卷2007-12-15 23:58A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG2.树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少23.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序4.在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解5.程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分6.下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析7.下列不属于软件工程的3个要素的是A)工具B)过程C)方法D)环境8.单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式9.将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域10.SQL语言又称为A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言11.下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用12.在C语言中,退格符是A)\nC)\fD)\b13.以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义14.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=% d, b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)### a=25,b=13,c=19D)### a=26,b=14,c=1915.下列程序段的输出结果是int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.516.若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是#includemain()int v0=1,v1=0,v2=0;do{ switch(c=getchar()){ case ′a′:case ′A′:case ′e′:case ′E′:case ′i′:case ′I′:case ′o′:case ′O′:case ′u′:case ′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); } A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11D)v0=13,v1=4,v2=1217.设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次18.执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33D)1019.以下程序段的描述,正确的是x=-1;do{x=x*x;} while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误20.有如下程序段int a=14,b=15,x;char c=′A′;x=(a&&b)&&(c<′B′);执行该程序段后,x的值为A)tureB)falseC)0D)121.下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!"; void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A)helloB)helC)hloD)hlm22.以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;iif(a[i]>a[p]);return(p);}在下划线处应填入的内容是A)i=pB)a[p]=a[i]C)p=jD)p=i23.以下程序的输出结果是#includevoid prt (int *x, int*y, int*z){ printf("%d,%d,%d\n",++*x,++*y,*(z++));} main(){ int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);}A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,2224.有如下程序main(){ char s[]="ABCD", *p;for(p=s+1; p}该程序的输出结果是A)ABCDBCDCDDB)ABCDC)BCDD)BCDCDD25.下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]); }B)6C)9D)随机数31.以下对结构体类型变量的定义中,不正确的是A)typedef struct aa{ int n;float m;} AA;AA tdl;B)#define AA struct aaAA{ int n;float m;} tdl;C)struct{ int n;float m;} aa;struct aa tdl;D)struct{ int n;float m;} tdl;32.在下述程序中,判断i>j共执行的次数是main(){ int i=0, j=10, k=2, s=0;for (;;){ i+=k;if(i>j){ printf("%d",s);break;}}A)4B)7C)5D)633.若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无返回值型34.以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt [0],60,&dt[0]}; main(){ p=aa;printf("%d\n",++(p->x));}A)10B)11C)51D)6035.有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20二、填空题(每空2分,共计30分)1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。
南昌大学2007~2008学年第二学期期末考试试卷6、在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
7、以下程序main(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i〈4;i++) s+=aa[i][1];printf(%d\n,s);}程序运行后的输出结果是________________。
8、以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。
请填空。
char fun(char ch){if(ch= =’Z’) ch=__________;else if(ch〉='A’&&ch<=’Y’) ch=__________;return ch;}9、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数.#include 〈stdio。
h>void main(void){int i, j;for(i=0; i〈10; i++) {j = i*10+6;if (_____ _____ ) continue;printf(”%d ”,j);}}10、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9—10,并输出结果。
请填空。
int fun(int n){int m=0,f=1,i;for(i=1;i<=n;i++){m+=i*f;f= __________ ;}return m;}main(){printf("m=%d\n”,________ __);}11、下面程序段是输出两个字符串中对应字符相等的字符。
请选择填空.char x[]=”programming”;char y[]=”Fortran”;int i=0;while (_______________ __ __){if (x[i]==y[i]) printf ("%c”,x[i]);else i++;}}12、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和.请填空。
6 ;
for(i=0;i<N;i++) if (score[i]>=ave) { count++;
7 ;
}
printf("平均成绩=%.2f,高于平均分人数=%d\n",ave,count); fclose(fp); }
3.程序功能:假设a 数组中数已经由小到大顺序存放,以下程序把a 数组中相同的数删除得只剩一个,然后以每行3个数的形式输出a 数组的数。
【程序】
#include<stdio.h> #define N 12 void main()
{ int a[N]={3,3,4,4,4,6,9,9,23,23,90,90}; int i,j,n; n=N; i=N-1;
while( i>=0 ) { if (a[i]==a[i-1]) { for(j=i;j<n;j++)
8 ; 9 ;
} i-- ;
}
for(i=0;i<n;i++) { printf("%4d",a[i]); 10 ; } }
试题五、编程序 (共30分)
1.输入x ,按下式计算y 值并输出。
8
08
09
310
26
><≤≤⎪⎩⎪⎨⎧--++=x x x x x x x y 或
2.输出所有的“水仙花数”,水仙花数是指一个三位数,其各位数字立方和等于其本身。
如:153=13+53+33
3.输入一个正整数n ,计算1+1/2!+1/3!……1/n !的和并输出。
要求将计算阶乘的运算定义成函数。
湖南省普通高等学校对口招生考试计算机应用类专业综合知识试卷2007~~2016年《C 程序设计》试题集一、选择题1-1、下列不是C 语言合法标识符的是( )【2010年】A 、_124B 、124abcC 、sum124D 、a_1241-2、若有如图1所示存储结构,且变量定义为struct node{int data;struct node* next;}*p,*q,*r ;若要实现图2所示的存储结构,可选用的赋值语句是( )【2010年】A 、p=r;B 、p=q- >next;C 、p- >next=q;D 、p- >next=q- >next; 1-3、C 语言中,不合法的整型常量是( )【2011年】A 、88B 、018C 、-0xabcdD 、2e51-4、C 语言中,定义常量指针p(p 的值不变)的正确语法是( )【2011年】A 、char *const p;B 、char const *p;C 、const *char p;D 、const char *p;1-5、C 语言中,一个2行3列矩阵M 的值如下图所示,能得到M 中数值5的表达式是( )【2011年】A 、*(M+1)+1B 、*(*M+1)+1C 、*(*(M+1)+1)D 、**((*M+1)+1) 1-6、以下正确的C 语言自定义标识符是( )【2012年】A 、intB 、a.3C 、_7cD 、5d_1-7、已知i=3,执行j=i++后,i 和j 的值分别为( )【2012年】A 、i=4 j=2B 、i=4 j=3C 、i=3 j=3D 、i=3 j=21-8、C 语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语句是( )【2012年】A 、空语句B 、break 语句C 、return 语句D 、continue 语句 1-9、下列选项中正确的C 语言变量定义是( )【2013年】A 、char a1='A',a2=A;B 、unsigned long a=1000;C 、float a1=a2=10.0;D 、double a=0.618,a=3.14;1-10、假设有:float a=5,b=a+5/2;则执行语句printf("%f",b)的输出结果为( )【2013年】A 、7.500000B 、7C 、5.000000D 、7.0000001-11、有输入语句:scanf("a=%d,b=%d",&a,&b);为使变量a 的值为1,b 的值为2,正确的数据输入方式是( )【2013年】A 、12↙B 、1,2↙C 、a=1,b=2↙D 、a=1 b=2↙1-12、算法的复杂度主要包括算法的时间复杂度和空间复杂度,算法的时间复杂度是指( )【2014年】A 、算法程序中的指令条数B 、算法程序的长度C 、算法程序所占的存储空间D 、算法执行过程中所需要的基本运算次数3 8 9 2 5 6A、a=int(i);B、a==0C、++i;D、a=a++=2;1-15、在C语言中,下列叙述正确的是()【2015年】A、空字符串不占用内存,其内存空间大小是0B、可以用关系运算符比较字符串的大小C、连续两个双引号是合法的字符串常量D、连续两个单引号是合法的字符常量1-16、若有语句:int x=12,y=8,z;z=0.8+x/y;执行语句后z的值为()【2015年】A、1.8B、1C、2D、2.41-17、若有语句:int a,b;scanf("%d;%d",&a,&b);如果把整数4赋给a,把整数5赋给b,应该输入()【2015年】A、4 5B、4,5C、45D、4;51-18、在C语言中,函数值类型在定义时可以缺省,缺省时函数值的隐含类型是()【2016年】A、voidB、intC、floatD、double1-19、用scanf函数输入一个字符串到数组str中,以下选项中正确的语句是()【2016年】A、scanf("%s",&str);B、scanf("%c",&str[10]);C、scanf("%s",str[10]);D、scanf("%s",str);1-20、设有以下定义语句:int m[]={2,4,6,8},*k=m;以下选项中表达式的值为6的是()【2016年】A、*(k+2)B、k+2C、*k+2D、*k+=2二、基本操作题2-1、C语言中,文件操作fopen函数的原型为FiLE * fopen(char *filename, char *mode),用于打开一个指定文件,若成功则返回一个与之关联的流,否则返回①;代码片段FiLE * fp=fopen("C:\\test.dat","a")的含义是以②的方式打开路径"C:\\test.dat"对应的文件,当访问的文件是二进制文件时,还需要在字符串"a"后增加一个字符③,以上代码片段对应的关闭文件的C语言代码是④。
2007年4月全国计算机等级考试二级C语言笔试试卷(含答案解析)一、选择题((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是A)继承性 B)多态性C)类比性D)封装性(5)下列对队列的叙述正确的是A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据 (6)对下列二叉树进行前序遍历的结果为A) DYBEAFCZX B) YDEBFZXCAC) ABDYECFXZ D) ABCDEFXYZ(7) 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为A) n+1 B) n-1 C) 2n D) n/2(8) 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是A) 并B)交C)投影D)笛卡儿乘积(9) 在E-R图中,用来表示实体之间联系的图形是A) 矩形B)椭圆形C)菱形 D)平行四边形(10)下列叙述中错误的是A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的 A)正当性 B)可行性 C)确定性D)有穷性(12)下列叙述中错误的是A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是A)大写字母 B)连接符C)数字字符 D)下划线(14)以下叙述中错误的是A)C语言是一种结构化程序设计语言 B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
(063)上海大学2006-2007年春季学期试卷2007.6课程名:程序设计基础(C) 课程号:00863006 学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。
学号:姓名:学院/教师:考生须知:1.试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3.不遵守上述要求者考试成绩将为零分。
4.本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分之和。
一、基础题(21分,第1小题3分,其它每小题2分)1.定义int x=63,y=36,z=100; 写出z+=(z==x+y)?x++:--y;执行后各变量的值。
2.定义float x=6.3, y=3.6;计算表达式(int)(x+y)*2与(int)(2*(x+y)) 的值。
3.设a=b=6,分别判断表达式4<a<6和b++==6是真还是假。
4. 分别写出判断表达式:字符x为大写字母,字符x为数字字符。
5. 设x为正实数,分别写出表达式:x截去小数后的整数值与四舍五入后的整数值。
6. 将二进制数01011010转换为十进制和十六进制数。
7.计算0x63^0x5A和0x63|~0x5A的值,结果用16进制表示。
8.写出printf(“%d,%05d,%4.2f,%u”,-2,123,45.678,-1);的执行结果。
9.定义int a[]={11,22,33,44,55,66,77},*p=&a[2],*q=a+5;写出printf(“%d,%d”,q-p,*q-*p);的运行结果。
10.定义FILE *fp, 写出以读方式打开文本文件test.txt的语句。
二、阅读程序(36分,每小题4分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。
2007年9月全国计算机等级C 语言程序设计一、选择题((1)—(10)每题2分,(11)—(50)每题1分,共60分))下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(1)软件是指A )程序B )程序和文档C )算法加数据结构D )程序、数据与相关文档的完整集合(2)软件调试的目的是A )发现错误B )改正错误C )改善软件的性能D )验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A )对象的继承B )对象的多态C )对象的封装D )对象的分类(4)下列叙述中,不符合良好程序设计风格要求的是A )程序的效率第一,清晰第二B )程序的可读性好C )程序中要有必要的注释D )输入数据前要有提示信息(5)下列叙述中正确的是A )程序执行的效率与数据的存储结构密切相关B )程序执行的效率只取决于程序的控制结构C )程序执行的效率只取决于所处理的数据量D )以上三种说法都不对(6)下列叙述中正确的是A )数据的逻辑结构与存储结构必定是一一对应的B )由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C )程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D )以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A )2/)1(+n nB )n n 2logC )2/)1(-n nD )2/n (8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A )219B )221C )229D )231 (9)下列叙述中正确的是A )数据库系统是一个独立的系统,不需要操作系统的支持B )数据库技术的根本目标是要解决数据的共享问题C )数据库管理系统就是数据库系统D )以上三种说法都不对 (10)下列叙述中正确的是A )为了建立一个关系,首先要构造数据的逻辑关系B )表示关系的二维表中各元组的每一个分量还可以分成若干数据项C )一个关系的属性名表称为关系模式D )一个关系可以包括多个二维表(11)C 语言源程序名的后缀是 A ).exe B ).C C ).obj D ).cp(12)可在C 程序中用作用户标识符的一组标识符是 A ) and B ) Date C ) Hi D ) case_2007 y-m-d Dr.TomBig1A) 028 B) 12. C) .177 D) 0x8A.5e-3 0Xa23 4e1.5 10,000-0xf 4.5e0 0abc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c; 之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s", &j, &y, name);当执行上述程序段,从键盘上输入55566 7777abc 后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d, ",i); while( i++ );printf("%d\n",i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是A) if(x>=0) y=sqrt(x); B) y=sqrt(x);else y=sqrt(-x); if(x<0) y=sqrt(-x);C) if(x>=0) y=sqrt(x); D) y=sqrt(x>=0?x :-x);if(x<0) y=sqrt(-x);(21)设有条件表达式:(EXP)? i++ :j-- ,则以下表达式中与(EXP)完全等价的是A)(EXP==0) B)(EXP!=0) C)(EXP==1) D)(EXP!=1)(22)有以下程序#include <stdio.h>main(){ int y=9;for( ; y>0; y--)if(y%3==0) printf("%d", --y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件。
第 1页 C 语言试题一、单项选择题(每空1分,共25分,请将答案填入表格)1.以下叙述错误的是 ___ 。
A) 一个C 源程序可由一个或多个函数组成 B) 一个C 源程序必须包含一个main 函数C) C 程序的基本组成单位是函数D) 在C 程序中,注释说明只能位于一条语句的后面2.C 语言中运算对象必须是整型的运算符是 ___ 。
A) %= B) / C) = D) 〈= 3.有如下程序,程序运行后的输出结果是 ___ 。
main(){ unsigned int x=0xffff;printf(“%u \n”,x );}A) -1 B) 65535 C) 32767 D) 0xFFFF4.若有代数式x x e n (其中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)))5.字符串“\t12\x42\\abcd”的长度是 ___ 。
A) 14 B) 9 C) 15 D)20 6.以下叙述中错误的是 ___ 。
A) 计算机不能直接执行用C 语言编写的源程序 B) C 语言经C 编译程序编译后,生成后缀为.obj 的文件是二进制文件 C) 后缀为.obj 的文件,经连接后生成后缀为.exe 的文件是二进制文件 D) 后缀为.obj 和.exe 的二进制文件都可以直接运行 7.以下选项中,与k=x++;完全等价的表达式是 ___ 。
A) x=x+1;k=x; B) k=x;x=x+1; C) k=x+1; D) k+=x+1; 8.以下叙述中正确的是 ___ 。
A) break 语句只能用于switch 语句中B) continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C) break 语句只能用在循环体内和switch 语句体内 D) 在循环体内使用break 语句和continue 语句的作用相同 9.判断字符型变量 ch 是否为大写英文字母的表达式为 ___ 。
2006年6月份《C语言等级考试》模拟试卷集成一、选择题部分二、改错题部分三、填空题部分四、编程题部分一、选择题1、关于C语言数据类型的叙述,正确的是(C)。
A)枚举类型不是基本类型ﻩB)数组不是构造类型ﻩC)变量必须先定义后使用ﻩD)不允许使用空类型2、下面关于C语言用户标识符的描述,正确的是(D)。
A)不区分大小写ﻩﻩB)用户标识符不能描述常量C)类型名也是用户标识符ﻩﻩD)用户标识符可以作为变量名3、下面叙述正确的是(b)。
A)2/3与2.0/3.0等价B)(int)2.0/3与2/3等价ﻩC)++5与6等价D)’A’与”A”等价4、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)。
A)scanf(“%d”,&a); ﻩB)scanf(“%lf”,&a);C)scanf(“%c”,&a);D)scanf(“%u”,&a);5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。
A)先判断后执行ﻩB)单入口,单出口C)程序中没有执行不到的语句ﻩD)无死循环6、已知int a=3,b=5; 则表达式a &&( !b) 的值为(C)。
A)3ﻩﻩB)2C)0ﻩﻩD)17、已知char a=’R’;则正确的赋值表达式是(A)。
A)a=(a++)%4ﻩ B)a+2=3C)a+=256--D)a=’\078’8、以下的语句中,无内嵌的if语句是(B)。
A)if(x==y) x+=y;B)if(x>y&& x!=y);x+=y;C)if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);D)if(x<y){x++;y++;}9、设有整型变量x,下述语句(B)不会出现死循环。
A)for( ; ; x+=1)ﻩB)for(; (x=getchar())!=’\n’; ) ;C)while(1) {x++ ;}ﻩD)for(x=10; ;x--) ;10、下列数组声明中,正确的是(A)。
《C语言程序设计》精品课件试题目录(按住CTRL键点击超链)单项选择题 (002)阅读程序题 (018)程序填空题 (039)编写程序题 (070)《C语言程序设计》精品课件制作小组2006年4月一、单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。
本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。
在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。
对于掌握不准的问题,应该通过上机实验来检验。
【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D) str_l••• _3d one_half My->book Cpp••• oodbs tart$it line# pow••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
2007-2008C语言程序设计期末试卷第一部分:客观题一、单项选择题(共30题,1分/题,共30分)下列各题A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂在机读卡相应位置上,答在试卷上不得分。
1、C语言源程序构成的基本单位是(B)。
A.文件B.函数C.过程D.主函数2、下列哪个选项是C语言提供的合法保留字(A)。
A.mainB.IntC.cherD.max3、下列常量表示中哪个选项不符合C语言的规定(D)。
A.1LB.0123C.12e-2D. 'ab'4、执行下面程序段后,变量y的数据类型是(B)。
int x;float y=9.6; x=(int)y+ 'a';A.intB.floatC.charD.不确定5、语句a=(a=9,a+10,a*2);运行后,变量a的值是(B)。
A.9B.18C.19D. 386、执行下面程序段后,变量a,b,c的值分别是(D)。
int a,b,c; a=b=0; c=(++a<=0)&&(b=1)A.1,1,1B.1,0,1C.1,1,0D.1,0,07、设有定义int a=2;,执行语句a+=a-=a*=a;后,变量a的值是(A)。
A.0B.4C.8D.-48、设有定义int n=010,i=3;,执行语句n%=i+1;后,变量n的值是(A)。
A.0B.1C.2D.39、设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(B)。
A.k++B.k+=1C.++kD.k+110、执行下面程序段后,变量k的值是(B)。
int k,m=1,n=2;if(m>n) k=m>n;else k=m<=n;A.0B.1C.m<=nD.赋值语句有错,编译不能通过11、若下列选项中的标识符已经定义,则正确的赋值表达式是(C)。
A.x1=25.5%2B.a=b+3+=1C.x=f(x)+3D.f(x)=f(x-1)+f(x-2)12、下面程序段的输出结果是(B)。
2008 ─2009 学年 第 1 学期 《 C 语言程序设计 》课程试卷(A 卷)专业: 年级: 考试方式:闭卷 学分:3.5 考试时间:120 分钟 一、选择题(每小题2分,共26分) 1. 可用作C 语言用户标识的一组标识符( )。
A viod B a3_b3 C For D 2a define _123 -abc DO WORD IF Case sizeof 2. 设a,b 和c 都是整型变量,且a=3,b=4,c=5;则以下表达式中,值为0的表达式是( )。
A a&&b B a<=b C a||b+c&&b-c D !((a<b)&&!c||1) 3. 已知i,j,k 为int 型变量,若从键盘输入1,2,3回车,使i 的值为1,j 的值为2,k 的值为3,以下选项中正确的输入语句是( )。
A scanf(“%2d%2d%2d ”,&i,&j,&k); B scanf(“%d%d%d ”,&i,&j,&k); C scanf(“%d,%d,%d ”,&i,&j,&k); D scanf(“i=%d,j=%d,k=%d ”,&i,&j,&k); 4. 与y=(x>0?1:x<0?-1:0);的功能相同的if 语句是( )。
A if(x>0) y=1; B if(x) else if(x<0) y=-1; if(x>0) y=1; else y=0; else if(x<0) y=-1; else y=0; C y=-1; D y=0; if(x) if(x>=0) if(x>0) y=1; if(x>0) y=1; else if(x==0)y=0; else y=-1; else y=-1; 5. 下列程序输出的结果是( )。
2012年3月全国计算机等级考试二级C语言真题(考试时间90分钟,满分100分)一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:RABCa 1 2b 2 1c 3 1则由关系R和S得到关系T的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求C、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C程序可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名15、设有以下语句char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <stdio.h>main(){intA=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++; printf((“%d\n”,x);B、n=++x; printf((“%d\n”,n);C、++x; printf((“%d\n”,x);D、n=x++; printf((“%d\n”,n);19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <stdio.h>main(){ int a;Scanf(“%d”,&a);if(a++<9) printf((“%d\n”,a);else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11C 9D 821、有以下程序#include <stdio.h>main(){int s=0,n;for (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,10122、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <stdio.h>main(){charA,B,C;B=’1’;C=’A’for(A=0;A<6;A++){if(A%2) putchar(B+A);else putchar(C+A);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225、fun函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。
扬州大学试题纸(2006-2007学年第2学期)全校非计算机专业统考课程C及C++语言程序设计(闭)卷注意:1.请用答题纸答题,将答案填于相应的题号内。
否则不给分。
2.请认真填写并仔细核对答题纸上的学院、系科、班级、学号及姓名等。
3.请将试卷和答题纸分开上交。
一、单选题(每小题2分,共30分)1.用于结构化程序设计的3种基本结构是(1)。
A. 顺序结构、选择结构、循环结构B. if, switch, breakC. for, while, do-whileD. if , for, continue2.下列各组中不全是合法变量名的是(2)。
A. day , lotus_1_2_3 , x1B. Abc , _above , basicC. M.John , year , sumD. YEAR , MONTH , DAY3.C语言中,下列运算符中运算对象必须是整型的是 (3) 。
A.%=B. /C. =D. <=4.能在C语言中定义三个整型变量a、b、c,并能给它们均赋值5的正确表示是(4) 。
A. int a=b=c=5;B. int a,b,c=5;C. int a=5,b=5,c=5;D. a=b=c=5;5.设有数学命题“当整数a的值为偶数时,表达式的值为真,否则为假”,则下列C语言表达式中,不能满足该数学命题要求的是 (5) 。
A.a%2==0B. !(a%2==1)C. !(a%2)D. a%26.若有说明语句:char c=’\72’;则变量c(6)。
A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法7.在C语言中,break语句(7)。
A. 能用在C源程序中的任何位置B. 只能用在循环体内C. 只能用在循环体内或switch语句中D. 可用作函数内的任一语句8.设有程序段:int x=-1;do {x=x*x;}while (!x);则下列叙述中正确的是 (8) 。
A. 循环是无限循环B. 循环体语句执行1次C. 循环体语句执行2次D. 有语法错误9.在C语言中,数组名可作为实在参数传递给函数的形式参数,此时,作为实在参数的数组名被处理为 (9) 。
A. 该数组的长度B. 该数组的首地址C. 该数组中元素的值D. 该数组的元素个数10.以下叙述中,正确的是 (10) 。
A. C语言源程序总是从第一个函数开始执行B. 在C语言程序中,调用函数必须在main()函数中定义C. C语言源程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始地方11.若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是(11)。
A. 函数调用可以作为独立的语句存在B. 函数调用可以作为一个函数的实参C. 函数调用可以出现在表达式中D. 函数调用可以作为一个函数的形参12.设有下列程序段:struct p{char name[9]; int age; };struct p class[10]={“John”,17,“Paul”,19,“Mary”,18,“Adam”,16};则下列选项中,能打印出字母“P”的语句是 (12) 。
A. printf(“%c\n”,class[1].name[0])B. printf(“%c\n”,class[2].name[0]);C. printf(“%c\n”,class[1].name[1]);D. printf(“%c\n”,class[2].name);13.若有以下调用语句,则错误的fun函数的首部是 (13) 。
main(){ ……int a[50],n;……fun(n,&a[9]);……}A. void fun(int m,int x[])B. void fun(int s,int h[50])C. void fun(int p,int *s)D. void fun(int m,int a)14.设有说明语句char *s=“abcd”;s+=2;则 *s 的内容是 (14) 。
A. aB. bC. cD. cd15. 下列对typedef 的叙述中,错误的是 (15) 。
A. 用typedef 可以增加新类型B. 用typedef 可以定义各种类型名,但不能用来定义变量C. 用typedef 只是将已存在的类型用一个新的标识符来代表D. 使用typedef 有利于程序的通用和移植二、填空题(每空1分,共20分)1. C 语言源程序是由函数构成的,一个C 源程序至少包含一个 (1) 函数。
对C 程序中的任何部分可用 (2) 作注释。
2. 调用C 语言标准库函数时要求用(3) 预处理命令,strcat 函数的作用是(4) 。
3. 数学表达式“cd ab y x +-||”所对应的C 语言表达式为(5) 。
在C 程序中要计算这样的表达式,通常必须包含头文件(6) 。
4. C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_(7)_____;数组名作为实参时,传递给对应形参的是数组的_(8)_ _________。
5. 若有定义:“ int a[3][4]={{1},{2,3},{4,5,6}}; ”,则执行该说明语句后,a[0][1]=(9) ,a[2][1]=(10) 。
6. 在C 程序中,若有函数定义如下:void f(){ static int i ;…}其中,void 表明函数f (11) ;而i 是一个(12) 整型变量。
7. 关系表达式x<y<z 转换为C 语言表达式为(13) ,若有定义:“doublea[100];”,则a 数组元素的下标上限是 (14) 。
8. 在C 语言源程序中,函数内部说明局部变量时若缺省了存储类型,则该变量的存储类型为(15) ;定义一个函数时,若缺省该函数返回值的类型,则默认返回值为(16) 型。
9. 设有说明语句:char *s="\ta\017bc";则指针变量s 指向的字符串所占的字节数是 (17) 。
若有如下程序段: char *s="\ta\018bc";for ( ; * s!=’\0’; s++)printf ("*");则for 循环体语句的执行次数是(18) 次。
10.若一结构的成员项是指向本结构类型的结构指针,则称该结构为(19)。
定义这种结构类型的一般形式如下:struct node { int data;(20) next;};三、阅读程序写出结果(每小题4分,共20分)1.下列程序的运行结果是。
#include <conio.h>main(){ int s=1,n=235;do{ s*=n%10;n/=10;}while(n);printf(“%d\n”,s);getch();}2.下列程序的运行结果是。
#include <conio.h>void f(int x,int y){ int t;t=x;x=y; y=t;}main( ){ int a=1,b=10;f(a,b);printf (“a=%d,b=%d\n”,a,b);getch();}3.以下程序运行的结果是。
#include <conio.h>#include <stdio.h>main(){ int i,k;for(i=1;i<5;i++){ k=sub(&i);printf("%4d",k);}printf("\n");getch();}int sub(int *s){ static int t=0;t=*s+t ;return t;}4. 下面程序段运行的结果是__________________。
#include <conio.h>#include <stdio.h>main(){ int i,j=3;for(i=j;i<=2*j;i++)switch(i/j){ case 0:case 1: printf ("*");break;case 2: printf ("#");}getch();}5. 下面程序段运行的结果是__________________。
#include <conio.h>#include <stdio.h>main(){ char *p="987";int i,s=0;while(*p){ s=s*10+*p-'0';p++;}printf("%d\n",s);getch();}四、完善程序题(每空1分,共30分)1.下列程序的功能是按5个一行输出100至1000之间各位数字之和是5的数,并统计这些数的个数。
请填空。
#include <conio.h>#include <stdio.h>main( ){ int s,i,k,count=0;for(i=100;i<=1000;i++){ s=0; k=i;while(k){ s=s+k%10;k= (1) ;}if ((2) ){ count++;if(count%5==0) printf("%5d\n",i);else printf("%5d",i);}}printf("\n%5d",count);getch();}2.以下程序在a数组中查找与x值相同的元素的所在位置。
请填空。
#include <conio.h>#include <stdio.h>main(){ int a[11],x,i;printf("Enter 10 Integers;\n");for(i=1;i<=10;i++)scanf("%d",a+i);printf("Enter x;");scanf("%d",&x);a[0]= (3) ;i=10;while(x!=a[i]) (4) ;if((5) )printf("%5d's position is:%4d\n",x,i);elseprintf("%d Not been found !\n",x);getch();}3.以下程序的功能是用二分法求方程2x3-4x2+3x-6=0的根,并要求绝对值误差不超过0.001。