2006本科C语言试题2

合集下载

C语言试题2

C语言试题2

《高级程序设计基础(C语言)》考试题二一、选择题(共20题,每题2分)1.C语言中规定函数的返回值的类型是由( )。

A.retrurn语句中的表达式类型所决定B.调用该函数时的主调用函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定2.对于C语言的函数,下列叙述中正确的是()。

A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套3.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为A) 无确定值B) a的地址C) 512 D) 5114.以下选项中,对指针变量p不正确的操作是()。

A.int a[6],*p; p=&a; B.int a[6],*p; p=a;C.int a[6]; int *p=a=1000; D.int a[6]; int *p1,*p2=a; *p1=*p2;5.下面程序段的运行结果是()。

char str[]=”abc”,*p=str;printf(“%d\n”,*(p+3));A.67;B.0;C.字符‘c’的地址;D.字符‘c’;6.下面语句中能正确进行字符串赋值操作的是()。

A.char str[5]={“abcde”};B.char str[5]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟} C.char *str; str=”abcde”;D.char *str; scanf(“%s”,str);7.下面程序段的运行结果是()。

char s[6]; s=”abcd”; printf(“\”%s\”\n”,s);A.”abcd”;B.”\”abcd”;C.”\”abcd\””;D.编译出错;8.以下程序的输出结果是( )main(){ int i, a[10];for(i=9;i>=0;i--) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.在定义int a[10];之后,对a的引用正确的是( )。

2006年9月全国计算机等级考试二级C语言笔试试题范文

2006年9月全国计算机等级考试二级C语言笔试试题范文

一、填空题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,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。

int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2B. P+(i-1)*2C. P+(i-1)D. P+i5、选出下列标识符中不是合法的标识符的是()。

2006年年年年4月

2006年年年年4月

2006年年年年4月全国计算机等级考试二级月全国计算机等级考试二级月全国计算机等级考试二级月全国计算机等级考试二级C语言笔试试题语言笔试试题语言笔试试题语言笔试试题解析解析解析解析一一一一、、、、选择题选择题选择题选择题(1)D)解析:结构化程序设计方法的主要原则是:自顶向下,逐步求精,模块化,限制使用goto语句。

可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。

软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。

面向对象的程序设计具有可复用性的优点。

(2)A)解析:模块的独立程度可以由两个定性标准度量:内聚性和耦合性。

耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。

一般来说,要求模块之间的耦合尽可能地弱,而要求模块的内聚程度尽可能的高。

(3)D)解析:因为测试的目的在于发现错误,从心理学角度讲,由程序的编写者自己进行测试是不合适的,为了达到最好的测试效果,应该由独立的第三方进行测试工作,所以选项A)错误;程序调试,修改一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B)错误;所谓软件维护,就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程,可见选项C)也是错误的。

(4)B)解析:栈的特点是栈顶元素总是最后被插入的元素,也是最早被删除的元素;栈底元素总是最早被插入的元素,也是最晚才能被删除的元素。

即栈的修改原则是“后进先出”(Last In First Out,简称LIFO) 或“先进后出”(First In Last Out,简称FILO),因此,栈也称为“后进先出”表或“先进后出”表。

(5)A)解析:所谓线性链表,就是指线性表的链式存储结构,简称链表。

线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。

历年二级c语言笔试真题及答案2006

历年二级c语言笔试真题及答案2006

刘胜林2009年9月全国计算机等级考试二级笔试试卷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) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统9)在E-R 图中,用来表示实体联系的图形是A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机B )程序设计的任务就是确定所用数据结构C )程序设计的任务就是确定所用算法D )以上三种说法都不完整12)以下选项中,能用作用户标识符的是A )voidB )8_8C )_0_D )unsigned 13)阅读以下程序 #include <stdio.h> main(){ int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); }该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符C )定义语句无错,scanf 不能作为输入函数使用 D )定义语句无错,printf 不能输出case 的值14)表达式:(int)((double)9/2)-(9)%2的值是A )0B )3C )4D )5 15)若有定义语句:int x=10;,则表达式x-=x+x 的值为A )-20B )-10C )0D )10 16)有以下程序 #include <stdio.h> main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); }程序运行后的输出结果是A )0,0B )1,0C )3,2D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 A )if(a>b) c=a,a=b,b=c; B )if(a>b){c=a,a=b,b=c;} C )if(a>b) c=a;a=b;b=c; D )if(a>b) {c=a;a=b;b=c;}18)有以下程序 #include <stdio.h>main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; }printf(“%d \n”,c); }程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include <stdio.h> main(){ char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++; p rintf(“%d \n”,n);} 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序#include <stdio.h> main() { int n=2,k=0;while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是A )char a=’a’B )char a=’\n’;C )chara=’aa’; D )char a=’\x2d’; 23)有以下程序#include <stdio.h> main() { char c1,c2; c1=’A’+’8’-‘4’; c2=’A’+’8’-‘5’; printf(“%c,%d \n”,c1,c2); }已知字母A 的ASCII 码为65,程序运行后的输出结果是A)E,68 B)D,69 C)E,D D)输出无定值24)有以下程序#include <stdio.h>void fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);} 程序运行后的输出结果是A)32 B)12 C)21 D)22 25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<n;i++){ max=MIN;if(max<x[i]) max=x[i];}return max;} 造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max 赋MIN值C)语句if(max<x[i]) max=x[i];中判断条件设置错D)赋值语句max=MIN;放错了位置(26)有以下程序#include <stdio.h>main(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);} 程序运行后的输出结果是A)1,2,1, B)1,2,2,1 C)2,1,2, D)2,1,1,227)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=a B)q[i]=a[i] C)p=a[i] D)p=&a[2][1]28)有以下程序#include <stdio.h>#include<string.h>main(){ char str[ ][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);} 程序运行后的输出结果是A)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World29)有以下程序#include <stdio.h>main(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i[=0;}for(i=0;i<4;i++) printf(“%d”,a[i]);printf(“\n”);}A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 430)有以下程序#include <stdio.h>#include<string.h>main(){ char a[10]=”abcd”;printf(“%d,%d\n”,strlen(a),sizeof(a);} 程序运行后的输出结果是A)7,4 B)4,10 C)8,8 D)10,1031)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串32)下列函数的功能是fun(char * a,char * b){ while((*b=*a)!=’\0’) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’33)设有以下函数void fun(int n,char * s) {……} 则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun; B)viod *pf();pf=fun; C)void *pf(); *pf=fun; D)void (*pf)(int,char);pf=&fun;(34)有以下程序#include <stdio.h>int f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;} 程序运行以后的输出结果是A)7 B)8 C)9 D)1035)有以下程序#include <stdio.h>#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n’,s,t);} 程序运行后的输出结果是A)10,64 B)10,10 C)64,10 D)64,6436)下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a;B)struct ord {int x;int y;int z;} structord a;C)struct ord {int x;int y;int z;} a;D)struct {int x;int y;int z;} a;37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[ ]=”string”;c=st r; B)scanf(“%s”,c);C)c=getchar();D)*c=”string”;38)有以下程序#include <stdio.h>#include<string.h>struct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct Aa={1001,”ZhangDa”,1098.0};a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}struct A f(struct A t)( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; ) 程序运行后的输出结果是A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)1001,ChangRong,1098.0 D)1001,ChangRong,1202.039)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16B)8 C)4 D)240)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。

2006辽宁专升本考试真题-C语言部分

2006辽宁专升本考试真题-C语言部分
}
}
58.下面程序的功能是计算数组中最小的下标。
#include<stdio.h>
int findmin(int *s,int n)
{
int i,k=0;
for(i=1;i<n;i++)
if(s[i]<s[k])
_____________;
return k;
}
main()
{
int a[10],j,k;
45.设int a=9,b=8;则表达式a = = b+1的值是___________。
五、阅读程序题(阅读下列程序,将正确的运行结果填写到答题卡相应的位置上。每小题3分,共24分)
46.下面程序运行结果是__________________。
#include<stdio.h>
main()
{
int x=1, y=2, z=3, sum;
*
***
*****
*******
*****
***
*
#include<stdio.h>
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++) printf(" ");
for(k=0;k<=2*i;k++) printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++) printf(" ");

2006年9月全国计算机等级考试二级c语言上机题汇编

2006年9月全国计算机等级考试二级c语言上机题汇编

2006年9月全国计算机等级考试二级c语言上机题汇编1、编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。

例子如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:g fedcba。

试题程序:#include <string.h>#include <conio.h>#include <stdio.h>#define N 81/*注:该题的算法是先分别找出字符串的两头,然后同时逐一往中间移动,每移动一次都进行两字符的位置对换,直到中间字符(用s+i<s+n-1-i来控制)。

由于s+i 中一个地址,因此要注意把它的内容取出再进行换位。

即先进行取内容运算*) */ fun(char *s){ int i=0,t,n=strlen(s);for(;s+i<s+n-1-i;i++){t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}}main(){ char a[N];clrscr();printf("Enter a string:"); gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}2、写程序,实现矩阵(3行3列)的转置(即行列互换)。

例如,输入一面的矩阵:程序输出:试题程序:#include <stdio.h>/*这题的关键在于进行行列下标转换的算法,由矩阵的对称性我们不难看出在进行行列互换时a[j]在好是与a[j][i]互换,因而只要我位让程序走完矩阵的左上角即可(用for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上角的走动。

c语言试题2006年6月24日

c语言试题2006年6月24日

全国高校计算机等级考试(广西考区)二级C语言试题卷2006年6月24日闭卷考试考试时间:120分钟第一卷本卷共70分,其中第1~26题每题2分,第27~32题每题3分。

第一部分:基础知识1. 一个C语言程序是从 C 开始执行的。

A.程序中的第一个语句B.包括文件(头文件)的第一个函数C.名为main的函数D.程序中的第一个函数2 . 以下程序:main(){ int a=2,b=4 ,c=7,x;x=a| b&c;printf(“%d”,x);}执行后输出结果是 BA.0 B.1 C.5 D.63. 有以下程序:main(){ int x=15,y=4;printf(”%d,%d\n”,x--,++y);执行之后输出的结果是 BA.14,5B.15,5 C15,4 D14,744.以下程序的输出结果是 A 。

Main(){int x=6,y=10;x+=y;y+=xprintf(”%d,%d\n”,x,y);供选择答案是:A.16 26B.6 10C.16 16D.10 65.:int(*f)[5];中,标识符f代表的是____ _.A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的指针变量C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名6.以下程序main(){ int x1=3,x2=0,x3=0;if(x1=x2+x3) printf(“****”);else printf(“####”)}执行后输出的结果是_____A.****B.存在语法错误C.####D.无输出结果7.下列语句中正确的是____A. int s_1[]=”012345”;B.char s[3]={…1‟,‟2‟,‟3‟,‟4‟};C.char *string=”hello!”;D.char ch=”how are you?”;8.下叙述正确的是____A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类型变量生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值9.以下正确的实型常量是____.A. 2B. 3.12e0.8C. e8D. 5.6E-210.对于下面的for循环语句,可以断定它____.for (x=0,y=0;(y!=67)&&(x<5); x++)printf(“--------”);供选择答案是:A.是无限循环(死循环)B.循环次数不定C.共执行5次循环D.共执行4次循环11.下列关于C语言数据文件的叙述中正确的是_____.A.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件B.文件由字符序列组成,可按数据的存放形式分为二进制文件和文本文件C.文件由ASCII码字符序列组成,C语言只能读写文本文件D.文件由二进制数据序列组成,C语言只能读写二进制文件12.在C语言中,变量的缺省存储类型是____A.externB.regiterC.staticD.auto13.对于C语言程序中的函数,下列叙述中正确的是A.函数的定义不能嵌套,但函数调用可以嵌套;B. 函数的定义可嵌套,但函数调用不能嵌套;C. 函数的定义和函数调用均不能嵌套;D. 函数的定义和调用均可以嵌套。

2006年广西区计算机等级考试二级C语言笔试试题及答案

2006年广西区计算机等级考试二级C语言笔试试题及答案

第一卷(共70分)第一部分:基础知识(20题,共40分)1、一个C程序总是从()开始执行。

A.程序的第一条执行语句B.主函数C.子程序D.主程序2、在C语言中,int, char和short int三种类型变量所占用的内存大小是()。

A.均为2个字节B.由用户自己定义C.由所用机器的字长决定D.是任意的3、若有以下类型说明语句:char a; int b; float c; short int d;则表达式(c*b+a)*d的结果类型是()。

A.charB.intC.doubleD.float4、若有说明语句:int w=1,x=2,y=3,z=4;则表达试w>x?w:z>y?z:x的值是()A.4B.3C.2D.15、设x,y 为int型变量,则执行下列语句后,y的值是()x=5;y=x++*x++;y=--y*--y;A.529B.2401C.1209D.6256、C语言中函数返回值的类型是()A.return语句中的表达式类型B.调用函数的类型C.总是int型D.定义函数时所指定的函数类型7、凡是在函数中未指定存储类别的变量,其隐含的存储类别是()A.自动B.静态C.外部D.寄存器8、在源程序的一个文件中定义的全局变量的作用域是()A.本文件的全部范围B.该程序的全部范围C.一个函数的范围D.从定义该变量的位置开始至该文件的结束9、以下不正确的描述是()A.break语句只能用于循环语句和switch语句B.在switch语句中,break语句的作用也可用continue语句来替代C.在循环语句中,使用continue语句是为了结束本次循环,而不是终止循环的执行D.在循环语句中,使用break语句是为了使流程跳出循环体,提前结束循环10、若有宏定义 #define mod(x,y) x%y则执行以下程序段后,输出为()int z,a=15,b=100;z=mod(b,a);printf(“%d\n”,z++);A.11B.10C.6D.宏定义不合法11、若有说明语句:char s1[4]=”12”; char *ptr;则执行下列语句后输出为()ptr=s1;printf(“%c\n”,*(ptr+1));A.字符‘2’B.整数2C.字符串“12”D.字符‘1’12、若有以下语句int x[]={2,4,6,8,10,12},*ptr;ptr=x;则对数组元素的正确引用为()A.xB.x[6]C.*(--ptr)D. *(++ptr)13、若有说明语句:int i,x[3][4];则不能实现将x[1][1]的值赋给变量i的语句是()A.i=*(*(x+1)+1)B.i=*(*(x+1))C.i=x[1][1]D.i=*(x[1]+1)14、若已定义了如下的共用体类型变量x,则x所占用的字节数(在16位PC机条件下)为()union data{int i;char ch;double f;}x;A.7B.11C.8D.1015、如下说明语句:enum A {A0=1,A1=3,A2,A3,A4,A5};enum A B;执行:B=A3;printf(“%d\n”,B);输出的是()A.5B.3C.2D.编译时出错16、while(!x)中的条件表达式(!x)与下面条件()等价。

2006 年 9 月全国计算机等级考试二级笔试试卷 C语言程序设计

2006 年 9 月全国计算机等级考试二级笔试试卷 C语言程序设计
机密★启用前 言程序设计
注意事项 一、考生应严格遵守考场规则,得到监考人员指令后方可作答。 二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题 卡的相应位置上。 三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案 必须用蓝、黑色钢 笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。 四、注意字迹清楚,保持卷面整洁。 五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清 点后,方可离场。 * * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * * 教育部考试中心 二 00 六年九月制 二级C语言程序设计试卷 第 1 页(共12 页) 2006年 9月全国计算机等级考试笔试试卷 二级公共基础知识和C语言程序设计 (考试时间120分钟,满分100分) 一、选择题((1)-(10)每小题 2分,(11)-(50)每小题 1 分,共 60 分) (1)下列选项中不符合良好程序设计风格的是( )。 A)源程序要文档化 B)数据说明的次序要规范化 C)避免滥用 goto 语句 D)模块设计要保证高耦合、高内聚 (2)从工程管理角度,软件设计一般分为两步完成,它们是( )。 A)概要设计与详细设计 B)数据设计与接口设计 C)软件结构设计与数据设计 D)过程设计与数据设计 (3)下列选项中不属于软件生命周期开发阶段任务的是( )。 A)软件测试 B)概要设计 C)软件维护 D)详细设计 (4)在数据库系统中,用户所见的数据模式为( )。
执行后的输出结果是( )。 A)5,5 B)5,11 C)11,11 D)11,5 (28)有下列程序: fun(int x) { int p; if(x= =0ǁx= =1) return(3); p=x-fun(x-2); return p; } main( ) { printf("%d\n",fun(7));} 执行后的输出结果是( )。 A)7 B)3 C)2 D)0 (29)在16位编译系统上,若有定义 int a[ ]={10,20,30},*p=&a;,当执行 p+ +;后,下列说法 错误的是( )。 A)p 向高地址移了一个字节 B)p 向高地址移了一个存储单元 C)p 向高地址移了两个字节 D)p 与 a+1等价 (30)有下列程序: main( ) 二级C语言程序设计试卷 第 5 页(共12 页) { int a=1, b=3,c=5,*p; int *p1=&a, *p2=&b, *p3=&c; *p=*p1*(*p2); printf("%d\n",*p); } 执行后的输出结果是( )。 A)1 B)2 C)3 D)4 (31)若有定义:int w[3][5];,则下列不能正确表示该数组元素的表达式 是( )。 A)*(*w+3) B)*(*w+1)[4] C)*(*(*w+1)) D)*(&w[0][0]+1) (32)若有以下函数首部

2006c

2006c

2006年上海市高等学校计算机等级考试试卷二级 (C程序设计)(本试卷答卷时间120分钟)试题一(28分,每小题4分)解答下列各小题,把解答写在答题卷的对应栏内。

(1)设a,b,c为整型并且a=3,b=5,c=7;写出下面表达式的值。

(注:对每小题求值时a=3,b=5,c=7保持不变)①c>b>a ②c%=a-b%1③b/=c-b%4 ④++a==--b(2)简述break和continue语句在使用场合和功能方面的区别。

(3)执行下列程序后的输出结果是什么?void main(){int a,b,c;a=b=1;c=a++,b++,++b;printf(“%d,%d,%d\n”,a,b,c);}(4)执行下列语句后的输出结果是什么?#include<string.h>char s1[]=”12345”,s2[]=”1234”;printf(“%d\n”,strlen(strcpy(s1,s2)));printf(“%s\n”,s1+2);(5)写出数学计算式y=√(sin72°/|1+x|)的C语言表达式。

(6)写出宏定义s(x,y)的含义,执行下列语句后的输出结果是什么?#define s(x,y) x=x+y,y=x-y,x=x-yvoid main(){int a=12,b=9;s(a,b);printf(“a=%d\tb=%d\n”,a,b);}(7)用文字描述以下程序段所完成的功能:FILE*fr,*fw;fr=fopen(“a.txt”,”r”)fw=fopen(“b.txt”,”w”)while (!feof(fr))fputc(fgetc(fr),fw);fclose(fr);fclose(fw);试题二(12分,每小题6分)阅读下列程序,把程序输出的结果写在答题纸的对应栏内(1)【程序2.1】#define N sizeof(a)/sizeof(a[0])void main(){int a[6]={10,20,30,40},i,*p=a,*p1=&a[5];p1=p1-4;*p1++=15;*p1=*(++p)*2;for(i=3;i<N;i++)p[i]=20+i*10;for(i=0;i<N;i+=2)printf(“%d\t%d\n”,a[i],a[i+1]); }(2)【程序2.2】int a=3,b=4,c=5;void sub(int n){int b=20;static int s=10;b+=a++;s+=b+c;printf(“%d%d%d\n”,a,b,c);}void main(){int b=6,c=7;sub(10);sub(b+c);printf(“%d%d\n”,a,b);}试题三(12分,每小题6分)改错,下列每个程序都有三个错误,按题中的计算要求,纠正错误,并以“将#XX行改为YYYY”的形式进行解答,把解答写在答题纸的对应栏内。

2006年9月全国计算机等级考试二级C语言笔试试题及答案(2)

2006年9月全国计算机等级考试二级C语言笔试试题及答案(2)

IT技术>> 计算机等级-资料>> 计算机二级考试>> C 2006年9月全国计算机等级考试二级C语言笔试试题及答案二、填空题(每空2 分,共30 分)请将每一个空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。

(1)下列软件系统结构图的宽度为 [1] 。

(2) [2] 的任务是诊断和改正程序中的错误。

(3)一个关系表的行为 [3] 。

(4)按“行进后出”原则组织数据的数据结构是 [4] 。

(5)数据结构分为线性结构和非线性结构,带链的队列属于 [5] 。

(6)若有定义语句:int*a,b;,则变量b 的数据类型是 [6] 。

(7)已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i-1 的单元,其中1≤i<n。

例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a中元素为2,3,4,4。

请将语句补充完整:For(int i=0;i(8)已知递归函数f 的定义如下:int f (int n){If(n<=1)return 1;//递归结束情况else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是 [8] 。

(9)创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数,下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是 [9] 。

#includeusing namespace std;class Foo{public:Foo(int X){cout <<’A”}Foo(){}};int main()Foo f[3],g(3);return 0;}(10)习惯性在下列程序的输出结果是42,请将画线处缺失的部分补充完整。

#includeUsing namespace atd;Class Foo{int value;public:Foo():value(0){}Void setvalue(int value){ [10] =value; //给Foo 的数据成员value 赋值}void print(){cout<};Int main(){Foo f;f.setvalue(42);f.print();retum0;}(11)如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 [11] 。

二级C语言真题2006年04月

二级C语言真题2006年04月

2006年4月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)~(35)每小题2分,共70分)下列各题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) ABCDEF B) DBEAFCC) ABDECF D) DEBFCA(7) 在深度为7的满二叉树中,叶子结点的个数为______。

A) 32 B) 31C) 64 D) 63(8)“商品”与“顾客”两个实体集之间的联系一般是______。

A) —对—B) —对多C) 多对一D) 多对多(9) 在E-R图中,用来表示实体的图形是______。

A) 矩形B) 椭圆形C) 菱形D) 三角形(10) 数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是______。

A) DB包含DBS和DBMS B) DBMS包含DB和DBSC) DBS包含DB和DBMS D) 没有任何关系(11) 以下不合法的用户标识符是______。

A) j2 KEY B) Double C) 4d D) _8_(12) 以下不合法的数值常量是______。

全国计算机二级C语言真题2006年09月

全国计算机二级C语言真题2006年09月

二级C语言真题2006年09月一、选择题下列各题A)、B)、C)、D)四个选项中,只有—个选项是正确的。

1. 下列选项中不符合良好程序设计风格的是______。

A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚答案:D评析:良好的程序设计风格可以使程序结构清晰合理,使程序代码便于维护,因此,程序设计风格对保证程序的质量很重要。

主要应注意和考虑下述—些因素:1、源程序要文挡化;2、数据说明的次序要规范化;3、语句的结构应该简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句。

模块设计要保证低耦合、高内聚。

2. 从工程管理角度,软件设计—般分为两步完成,它们是______。

A.概要设计与详细设计B.过程控制C.软件结构设计与数据设计D.程序设计与数据设计答案:A评析:从工程管理角度看,软件设计分为两步完成:概要设计与详细设计。

概要设计(义称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。

3. 下列选项中不属于软件生命周期开发阶段任务的是______。

A.软件测试B.概要设计C.软件维护D.详细设计答案:C评析:软件生命周期分为软件定义、软件开发及软件维护。

其中软件开发阶段的任务中软件设计阶段可分解成概要设计阶段和详细设计骱段;软件维护不属于软件开发阶段。

4. 在数据库系统中,用户所见数据模式为______。

A.概念模式B.外模式C.内横式D.物理模式答案:B。

全国计算机等级考试二级C语言真题2006年4月

全国计算机等级考试二级C语言真题2006年4月

全国计算机等级考试二级C语言真题2006年4月(总分:82.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)1.下列选项中小属于结构化程序设计方法的是______。

(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用√解析:知识点:结构化程序设计方法评析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计—些子目标作过渡,逐步细化:②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。

不要—开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;③模块化:—个复杂问题,肯定是由若干稍简单的问题构成。

模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为—个模块,而可复用是面向对象程序设计的—个优点。

2.两个或两个以上的模块之间关联的紧密程度称为______。

(分数:1.00)A.耦合度√B.内聚度C.复杂度D.数据传输特性解析:知识点:耦台度评析:耦合度是模块间互相连接的紧密程度的度量;内聚度是一个模块内部各个元素间彼此结合的紧密程度的度量。

3.下列叙述中正确的是______。

(分数:1.00)A.软件测试应该由程序开发者来完成B.程序经调试后—般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对√解析:知识点:软件的测试与程序的调试评析:程序调试的任务是诊断和改正程序中的错误。

它与软件测试不同,软件测试是尽可能多地发现软件中的错误。

先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。

软件测试贯穿整个软件生命期,调试主要在开发阶段。

为了达到更好的测试效果,应该由独立的第三方来构造测试。

因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是程度不同地存在障碍的。

软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

二级C语言真题2006年09月

二级C语言真题2006年09月

二级C语言真题2006年09月一、选择题下列各题A)、B)、C)、D)四个选项中,只有—个选项是正确的。

1、下列选项中不符合良好程序设计风格的是______。

A) 源程序要文档化B) 数据说明的次序要规范化C) 避免滥用goto语句D) 模块设计要保证高耦合、高内聚2、从工程管理角度,软件设计—般分为两步完成,它们是______。

A) 概要设计与详细设计B) 过程控制C) 软件结构设计与数据设计D) 程序设计与数据设计3、下列选项中不属于软件生命周期开发阶段任务的是______。

A) 软件测试B) 概要设计C) 软件维护D) 详细设计4、在数据库系统中,用户所见数据模式为______。

A) 概念模式B) 外模式C) 内横式D) 物理模式5、数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。

A) 编码设计B) 测试阶段C) 运行阶段D) 物理设计下列操作中正确的是______。

A) T=R∩S B) R∪SC) T=R×S D) T=R/S7、下列叙述中正确的______。

A) 一个算法的空间复杂度大,则其时间复杂度也必定大B) 一个算法的空间复杂度大,则其时间复杂度必定小C) 一今算法的时间复杂度大,则其空间复杂度必定小D) 上述三种说法都不对8、在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。

A) 63 B) 64C) 6 D) 79、数据库技术的根本目标是解决数据的______。

A) 存储问题B) 共享问题C) 安全问题D) 保护问题进行中序遍历的结果是______。

A) ACBDFEG B) ACBDFGEC) ABDCGEF D) FCADBEG11、下列叙述错误的是______。

A) 一个C语言程序只能实现—种算法B) C程序可以由多个程序文件组成C) C程序可以由—个或多个函数组成D) 一个C函数可以单独作为—个C程序文件存在12、下列叙述中正确的是______。

2006本科C语言试题2

2006本科C语言试题2

2006本科C语言试题2第一题填空题(每空1分,共10分)1. 设a=3,b=4,c=5,d=6,m=n=2,则表达式(n=cvd)&&( m=a>b)的值为m= ______ ,n= ________ .2. 若int a=5,则表达式(a=4*6,a*2),a+20 的值为______________ .3. 设m=2 ,则表达式j=3+ m--运算后,j的值为__________________ 。

4. 设x=10,执行x*=2+5后,x的值是 ____________ 。

5. 当同名的全局变量与局部变量的作用域重叠时,在该作用域中一6. 表达式~1&(5|3八2)的值为_____________ 。

7. 若x、y均为整型变量,则语句{ x+=y; y=x-y; x-=y; }的作用为__________________ .8. 有以下定义:struct dw { float a[4]; int c;} a;贝U sizeof(a)的值是已知整型占2字节,浮点型占4字节第二题选择题(每题1分,共15分)1. 若已定义x和y为double类型,则表达式x=1, y=x+3/2的值是(void main(){int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)s+=(*(a+i))[j];printf( ” %d ,s);}A) 13 B) 14 C) 45 D) 165. 语句for( x=2; x<=5; ) x++; 的循环次数是(). 变量有效。

A) 1 B)22. 定义int a[ ][3]={{2,3},{4,5}};后,A. 0B. 33. 在定义int a[10]={1 , 3, 5, 7,A. a[10]B. a[2*3]4. 下述程序的运行结果是(#include<stdio.h> C) 2.0 D) 2.5a[1][1]的值是()。

2006年(秋)江苏二级C语言笔试试卷

2006年(秋)江苏二级C语言笔试试卷

江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级C 语言程序设计2006 年(秋)笔试试卷(考试时间120 分钟,满分60 分)第一部分计算机基础知识(1)在下列有关集成电路的叙述中,错误的是__________。

A)集成电路的规模是根据其所包含的电子元件数目进行划分的B)大规模集成电路一般以功能部件和子系统为集成对象C)现代集成电路使用的半导体材料主要是硅(Si)D)集成电路技术发展很快,至2005 年初已达到线宽0.001μm 的工艺水平(2)在下列有关通信技术的叙述中,错误的是__________。

A)电视节目的传输目前采用的还都是模拟传输技术B)模拟调制的方法有3 种,即调频、调幅和调相C)数字信号不经过调制就在信道上直接进行传输,称为“基带传输”D)用户使用MODEM 通过电话线上网时,采用的是数字调制技术(3)所谓“变号操作”,是指将一个整数变成绝对值相同但符号相反的另一个整数。

假设使用补码表示的8 位整数X=10010101,则经过变号操作后,结果为__________。

A)01101010 C)11101010 B)00010101 D)01101011(4)若计算机内存中连续2 个字节的内容其十六进制形式为34 和64,则它们不可能是__________。

A)2 个西文字符的ASCII 码C)1 个16 位整数B)1 个汉字的机内码D)图像中1 个或2 个像素的编码(5)在下列关于指令和指令系统的叙述中,错误的是__________。

A)指令是构成程序的基本单元,它用来规定计算机执行什么操作B)指令由操作码和操作数组成,操作数的个数由操作码决定C)Intel 公司Pentium 系列的各种微处理器,其指令完全不同D)Pentium 处理器的指令系统包含数以百计的不同指令(6)在下列关于BIOS 及CMOS 存储器的叙述中,错误的是__________。

A)BIOS 是PC 机软件最基础的部分,包含POST 程序、CMOS 设置程序、系统自举程序等B)BIOS 存放在ROM 存储器中,通常称为BIOS 芯片,该存储器是非易失性的C)CMOS 中存放着基本输入输出设备的驱动程序和一些硬件参数,如硬盘的数目、类型等D)CMOS 存储器是易失性的,在关机时由主板上的电池供电(7)PC 机的机箱外面常有很多接口,用来连接外围设备。

全国计算机等级考试二级VISUALBASIC真题2006年4月_真题(含答案与解析)-交互

全国计算机等级考试二级VISUALBASIC真题2006年4月_真题(含答案与解析)-交互

全国计算机等级考试二级VISUAL BASIC真题2006年4月(总分92, 做题时间90分钟)一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

1.下列选项中不属于结构化程序设计方法的是______。

SSS_SINGLE_SELA 自顶向下B 逐步求精C 模块化D 可复用该问题分值: 2答案:D[知识点] 结构化程序设计方法[评析] 20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化;②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。

不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;③模块化:一个复杂问题,肯定是由若干稍简单的问题构成。

模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。

2.两个或两个以上的模块之间关联的紧密程度称为______。

SSS_SINGLE_SELA 耦合度B 内聚度C 复杂度D 数据传输特性该问题分值: 2答案:A[知识点] 耦合度[评析] 耦合度是模块间互相连接的紧密程度的度量;内聚度是一个模块内部各个元素间彼此结合的紧密程度的度量。

3.下列叙述中正确的是______。

SSS_SINGLE_SELA 软件测试应该由程序开发者来完成B 程序经调试后一般不需要再测试C 软件维护只包括对程序代码的维护D 以上三种说法都不对该问题分值: 2答案:D[知识点] 软件的测试与程序的调试[评析] 程序调试的任务是诊断和改正程序中的错误。

它与软件测试不同,软件测试是尽可能多地发现软件中的错误。

先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。

软件测试贯穿整个软件生命期,调试主要在开发阶段。

为了达到更好的测试效果,应该由独立的第三方来构造测试。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2006本科C语言试题2第一题填空题(每空1分,共10分)1.设a=3,b=4,c=5,d=6,m=n=2, 则表达式(n=c<d)&&( m=a>b)的值为__ __ _ ,m=_______,n=_________ .2.若int a=5, 则表达式(a=4*6,a*2),a+20的值为.3.设m=2 , 则表达式j=3+ m-- 运算后,j的值为__________。

4.设x=10,执行x*=2+5后,x的值是___ ___。

5.当同名的全局变量与局部变量的作用域重叠时, 在该作用域中_ _____变量有效。

6.表达式~1&(5|3^2)的值为_______________。

7.若x、y均为整型变量,则语句{ x+=y; y=x-y; x-=y; } 的作用为_________________.8.有以下定义:struct dw { float a[4]; int c;} a;则sizeof(a)的值是________ 已知整型占2字节,浮点型占4字节第二题选择题(每题1分,共15分)1.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( )A) 1 B) 2 C) 2.0 D) 2.52.定义int a[ ][3]={{2,3},{4,5}};后,a[1][1]的值是( )。

A. 0B. 3C. 4D. 53.在定义int a[10]={1,3,5,7,9,11}; 后, 对a数组元素的正确引用是( )。

A. a[10]B. a[2*3]C. a(5)D. a[5.3]4. 下述程序的运行结果是()。

#include<stdio.h>void main(){int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)s+=(*(a+i))[j];printf(”%d”,s);}A) 13B) 14C) 45D) 165.语句for( x=2; x<=5; ) x++; 的循环次数是( ).A. 3B. 4C. 5D. 无限循环6.当从键盘输入含空格的字符串时,应采用( )函数。

A. gets( )B. scanf( )C. getc( )D. getchar( )7.设a=12 , 则表达式a+=a - =a-2 运算后,a的值为( )。

A. 0B. 2C. 3D. 48.设有int i, *p; 则以下正确的语句是( ).A. i=p;B. p=2*p+i;C. p=&i ;D. p=i+1;9. 设int x = 10, *p=&x; 则printf(“%d \n”, *p++);的输出结果( )A.10B. 11C. 12D. 1310.设有定义:int x[3][3]={{1,2,3},{4,5,6},{7,8}} ;则语句printf(“%d ”, *(*(x+1)+2) ); 的输出结果是( )。

A. 2B. 5C. 6D. 911.C语言中,程序的开始执行点是( )。

A. 程序中的第一条语句B. 程序中的第一个函数C. 包含文件的第一个函数D. 程序中的main函数12.设有宏定义#define M(x) x*(x-1)则执行int a=1,b=2,c; c=M(1+a+b);后,c=( )。

A. 6B. 8C. 12D. 1413.下述程序的输出结果是()。

#include<stdio.h>void main(){struct complex{int x;int y;}cnum[2]={{1,3},{2,7}};printf(”%d”,cnum[0].y/cnum[0].x*cnum[1].x);}A) 0B) 1C) 3D) 614有如下程序main( ){ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是( )A) 循环23次B) 23 C) 不输出任何内容D) 陷入死循环15用fopen打开一个二进制文件,要求该文件既能读也能写,则文件打开方式字符串是( )。

A) “a”B) “wb”C) “rb”D) “a+”第三题判断题(每题1 分,共7分)正确画√,错误画×1.有参函数的形参在函数没有被调用时不占存储空间。

()2.一个字符型变量的长度是8 bits 。

()3.C语言中的双精度型(DOUBLE)变量可以精确表示全部实数。

()4.空函数由于没有任何作用,所以可以没有函数名。

()5.函数可以嵌套使用不可以嵌套定义()6. 共用体变量所占空间为各成员变量所占空间的总和()7. 局部变量肯定是自动变量。

()第四题分析以下程序,写出运行结果(每题4 分,共20分)1.main(){ int a[10], p[4] , m , i;m= 0;for( i=0 ; i<10 ;i++)a[i] = i ;for( i=1 ; i<=3 ;i++){ p[i]=a[i*i];printf(“%3d”, p[i]);}for( i=1 ; i<=3 ;i++)m=m+p[i];printf(“ \n m= %d\n” , m);}输出结果:2. void fun( int x , int *y ){ x = 2-x ;*y +=3;}main(){ int a=10 , b=20;printf( “a=%d , b=%d\n” , a, b);fun( a, &b);printf( “a=%d , b=%d\n” , a, b);}输出结果:3 int func(int x){ static int y=0;y=y+x+1;return y;}main(){ int a=5 , i, k ;for( i=1 ; i<=4 ;i++){ k= func(a);pri ntf(“%d,” , k );}}输出结果:4. main( ){ int a=24, b=328, c;switch( b/10 ){ case 0 : c=a*10 +b;break;case 1: c=a*100+b;break;default: c=a*1000+b;printf("%d,%d,%d\n",a,b, c );}}输出结果:5、main(){enum week{mon,tue,wed,thu,fri,sat,sun}we1;enum {mon1=8,tue1=3,wed1,thu1,fri1}w1,w2;we1=wed;w1=mon1;w2=wed1;printf("%d\n",we1);printf("%d\n",w1);printf("%d\n",w2);}输出结果:五、完善程序(每空1分,共13分)1、用选择法对10个整数排序。

实参用指针而形参用数组main(){ int sort(int x[],int n);int *p,i,a[10];p=a;for(i=0; (1);i++)scanf("%d",p++);p=a;(2);for(p=a,i=0;i<10;i++){printf("%d,",*p);p++;}}sort(int x[],int n){int i,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(x[k]>x[j]) (3);if(k!=i){t=x[i]; (4);x[k]=t;}}}2输出200以内能被7整除且个位数为1的所有整数。

#include<stdio.h>void main(){ int i,j;for(i=0;j<200;i++){ j=i*10+1;if ((5)) continue;printf(“%d”,(6));}}3A为5*2矩阵,B 为2*3矩阵,计算矩阵A*B的积#include<stdio.h>#define M 5#define N 2(7)void main(){int a[M][N] ={1,2,3,4,5,5,4,3,2,1};int b[N][k]= {1,1,2,2,3,3},c[M][k];int i,j,l,u;for (i=0;i<=M-1;i++)for (j=0;j<=k-1;j++){(8) ;for (l=0;l<=N-1;l++)c[i][j]= (9) ;}for (i=0;i<=M-1;i++){ (10)printf("\t%d",c[i][j]);printf("\n");}}4 采用函数连接字符串,并删除前一个字符串尾部的全部空格#include<stdio.h>void cat_string(char first[],char secd[]){char *p;int i=0;for(p=first;*p!='\0' ;p++);for(p--;(11);p--);p++;while(secd[i]!='\0'){*p=secd[i];i++;p++;}(12);}main(){char a[60]="I am a teacher. " ;char b[]="you are a student.";printf("string a is: %s\n",a);printf("string b is: %s\n",b);(13);printf("new string a is: %s\n",a);}六编写程序(35分)1.计算sum= 1+(1+2)+(1+2+3)+…+(1+2+…+n) (要求:n在main()函数中由用户从键盘输入,用函数调用法实现.)10分2将8个数(99,87,85,66,50,40,32,21)按由大到小顺序存放在一个数组中(采用初始化赋值),再由键盘输入一个数,要求用折半查找法找出该数是数组中第几个元素的值输出此下标。

如果该数不在数组中,则打印出“无此数”,编程实现。

10分3 循环接收输入的字符,统计其中英文字母、空格、数字字符和其他字符的个数。

循环直到输入#键为止,并将#键计算在其他字符内。

相关文档
最新文档