2011年技能考试试卷C语言(真题)
2011年技能考试试卷C语言(真题)
第一部分【程序填空】第一套:题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。
---------------------------------------------------------注意:请勿改动主函数main()中的其他内容。
---------------------------------------------------------#includ e<stdio.h>#includ e<conio.h>voidgcd(inta[],intn,intb[],intc[]){inti,x,y,z;/***********SPACE***********/for(i=0;i<【?】;i++){x=a[i];y=a[i+1];whil e(z=x%y){x=y;y=z;}页脚内容1b[i]=y;/***********SPACE***********/c[i]=a[i]*a[i+1]/【?】;}}intmain(){inta[5]={8,12,5,7,14};intb[4],c[4];inti;gcd(a,5,b,c);for(i=0;i<5;i++)printf("%d\t",a[i]);printf("\n");for(i=0;i<4;i++)printf("%d\t",b[i]);printf("\n");for(i=0;i<4;i++)页脚内容2printf("%d\t",c[i]);printf("\n");getch();return0;}第二套题目:函数reverse()对字符串str进行逆序。
#includ e<stdio.h>#includ e<string.h>#includ e<conio.h>voidreverse(charstr[]){intlen,j;charc;/***********SPACE***********/l en=【?】(str);/***********SPACE***********/for(j=l en-1;【?】;j--){页脚内容3c=str[j];str[j]=str[l en-1-j];str[l en-1-j]=c;}}intmain(){chara[80];printf("Pl easeenterastring:");gets(a);reverse(a);printf("Theinversedstringis:");puts(a);getch();return0;}第三套题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。
2011山东专升本《C语言程序设计》真题
2011山东专升本《C语言程序设计》真题.txt点的是烟抽的却是寂寞……不是你不笑,一笑粉就掉!人又不聪明,还学别人秃顶。
绑不住我的心就不要说我花心!再牛b的肖邦,也弹不出老子的悲伤!活着的时候开心点,因为我们要死很久。
请你以后不要在我面前说英文了,OK?本文由hanliankuo贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
2011 年普通高等教育专升本考试语言程序设计程序设计》《C 语言程序设计》试题计算机科学与技术专业综合二试题(满分:计算机科学与技术专业综合二试题(科目 2,满分:50 分)题号得分六、填空题(8 分,每题 2 分)填空题 1.若 a 是 int 型变量,且 a=5,则下面表达式的值为:。
2.C 语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include <> 。
3.若 int 型变量占内存 2 个字节、double 型变量占内存 8 个字节,有如下定义:六七八九总分union data { int i; double d; }a;则变量 a 在内存中所占字节数为:。
4.当文件关闭成功后,fclose 函数的返回值为:。
七、阅读程序题(15 分,每题 3 分)阅读程序题 1.下面程序的运行结果是。
#include main() { int i=2,j=3,k; k=i+j;1{ int k=8; if(i=3) printf(“%d”,k); else printf(“%d”;,j) } printf(“%d%d”,i,k); } 2.下面程序的运行结果是。
#include #define SIZE 8 main() { char s[]=“GDBFHACE”; int i,j,t; for(i=0;i s[j]) { t= s[i]; s[i] = s[j]; s[j] =t; } } for(i=0;i int fun(int a,int b,int *cn,int *dn,) { *cn=a*a +b*b; *dn= a*a—b*b; a=5;b=6; } main() { int a=4,b=3,c=5,d=6;; fun (a,b,&c,&d) printf(“a=%d,b=%d,c=%d,d=%d\n”,a,b,c,d); }4. #include int fun(int x) { static y=2; y++; x+=y; return x; } void main() { int k; k=fun(3); printf(“%d”,%d\n” k, fun(k);,) } 35.下面程序的运行结果是。
武科大2011级C语言考试试卷A参考答案
注:其它编程方法可酌情给分
p=j;——j改为i
五、程序分析题(每题5分,共20分)
1、SUM=246
2、12
3、18
10
4、输入10个数,然后逆序输出。
5、3,2,5
3,3,4
六、编程题(每题10分,共20分)
1、编一个完整的程序。输入10个数,输出其中第二大的数。
提示:升序排序(冒泡法或者选择法)后输出倒数第2个数a[8]
3、⑨’\0’(或0)
⑩*sptr++(或*(sptr++) )
四、改错题(下列程序中下划线所在的语句有错,请改正,每个位置3分,共15分)
1、for (i=2;i<m;i++)————“<”改为“<=”或者m改为m+1
y-=1/(i*i);————“1”改为“1.0”
2、p=j——加上“;”
for (i=j;i<n;i++)——j改为j+1
main()
{int i,j,temp,a[10];
for(i=0;i<10;i++)
scanf ("%d,",&a[i]);
for(j=1;j<=2;j++)
{ for (i=0;i<10-j;i++)
if (a[i]>a[i+1])
{ temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
8、BCD B
9、double *p=&d
三、程序填空(每空2分,共20分)
1、.①float nox ; int i,n;
2011年9月全国计算机二级C语言考试真题及答案
2011年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。
下现属于应用软件的是A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R 、S 和T 如下: 则由关系R 和S 得到关系T 的操作是 A)自然连接 B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是A)C 语言编写的函数源程序,其文件名后缀可以是.C B)C 语言编写的函数都可以作为一个独立的源程序文件 C)C 语言编写的每个函数都可以进行独立的编译并执行 D)一个C 语言程序只有一个主函数(12)以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (13)以下选项中关于C 语言常量的叙述错误的是A)所谓常量,是指在程序运行过程中,其值不能被改变的量 B)常量分为整型常量、实型常量、字符常量和字符串常量 C)常量可分为数值常量和非数值常量 D)经常被使用的变量可以定义成常量(14)若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b 的值的类型是 A)char B)int C)double D)float (15)若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为 A)1.9 B)1 C)2 D)2.4(16)若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b 的输入数据是A)3 5 B)3,5 C)3;5 D)35(17)若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 A)0和1B)0和20C)10和1D)10和20(18)有以下程序#include <stdio.h> main( ){ int a=1, b=0;if (--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是A) if(a) printf("%d\n", x); else printf("%d\n",y);B) if(a==0) printf("%d\n", y); else printf("%d\n",x);C) if(a!=0) printf("%d\n", x); else printf("%d\n",y);D) if(a==0) printf("%d\n", x); else printf("%d\n",y);(20)有以下程序#include <stdio.h>main( ){ int a=7;while (a--);printf("%d\n",a);}程序运行后的输出结果是A)-1 B)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A')C)printf("%c\n",65); D)printf("%c\n",'B'-1);(22)有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>main( ){ char *s={"abc"};do{ printf("%d",*s%10); ++s; }while (*s);}程序运行后的输入结果是A)abc B)789 C)7890 D)(23)若有定义语句: double a,*p=&a; 以下叙述中错误的是A)定义语句中的 * 号是一个间址运算符B)定义语句中的 * 号只是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p#include <stdio.h>double f(double x);main( ){ double a=0; int i;for (i=0; i<30; i+=10) a+=f( (double)i);printf("%5.0f\n",a);}double f(double x){ return x*x+1; }程序运行后的输出结果是A)503 B)401 C)500 D)1404(25)若有定义语句: int year=2009, *p=&year;,以下不能使变量year中的值增至2010的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定义数组的语句中错误的是A)int num[]={1,2,3,4,5,6} B)int num[][3]={{1,2},3,4,5,6}; C)int num[2][4]={{1,2},{3,4},{5,6}}; D)int num[][4]={1,2,3,4,5,6};(27)有以下下程序#include <stdio.h>void fun(int *p){ printf("%d\n", p[5]); }main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)9(28)有以下程序#include <stdio.h># define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];}main( ){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}, y[N], i;fun(x, y);for (i=0;i<N; i++) printf("%d,",y[i]); printf("\n");}程序运行后的输出结果是A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0') {x++; y++; n++; }return n;}函数的功能是A)查找x和y所指字符串中是否有'\0'B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句: char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句是A)if (strcm(s1,s2)==0 puts(s1); B)if (strcm(s1,s2)!=0 puts(s2);C)if (strcm(s1,s2)==1 puts(s1); D)if (strcm(s1,s2)!=0 puts(s1);(31)以下程序的主函数中调用了在其前面定义的fun函数#include <stdio.h>∶main( ){ double a[15],k;k=fun(a)∶}则以下选项中错误的fun函数首部是A)double fun( double a[15]) B)double fun( double *a)C)double fun( double a[]) D)double fun( double a)(32)有以下程序#include <stdio.h>#include <string.h>main( ){ char a[5][10]={"china", "beijing", "you", "tiananmen", "welcome"};int i,j; char t[10];for ( i=0; i<4; i++)for (j=i+1; j<5; j++)if( strcmp(a[i], a[j])>0){ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); }puts(a[3]);}程序运行后的输出结果是A)beijing B)china C)welcome D)tiananmen(33)有以下程序#include <stdio.h>int f(int m){ static int n=0;n+=m;return n;}main( ){ int n=0;printf("%d,", f(++n));printf("%d\n", f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C)2,3 D)3,3(34)有以下程序#include <stdio.h>main( ){ char ch[3][5]={"AAAA","BBB","CC"};printf( "%s\n", ch[1] );}程序运行后的输出结果是A)AAAA B)CC C)BBBCC D)BBB(35)有以下程序#include <stdio.h>#include <string.h>void fun(char *w, int m){ char s,*p1, *p2;p1=w; p2=w+m-1;while (p1<p2) { s=*p1; *p1=*p2; *p2=s; p1++; p2--; }}main( ){ char a[]="";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A) B) C) D)(36)有以下程序#include <stdio.h>#include <string.h>typedef struct {char name[9]; char sex; int score[2]; } STU; STU f(STU a){ STU b={"Zhao",'m',85,90};int i;strcpy(, );a.sex=b.sex;for (i=0; i<2; i++) a.score[i]=b.score[i];return a;}main( ){ STU c={"Qian",'f',95,92}, d;d=f(c);printf("%s,%c,%d,%d,",,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n",,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90A)Qian,f,95,92,Qian,f,95,92 B)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include <stdio.h>main( ){ struct node {int n; struct node *next;} *p;struct node x[3]={{2,x+1}, {4,x+2}, {6, NULL}};p=x;printf("%d,", p->n );printf("%d\n",p->next->n );}程序运行后的输出结果是A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include <stdio.h>main( ){ int a=2, b;b=a<<2; printf("%d\n",b);}程序运行后的输出结果是A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include <stdio.h>main( ){ FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};fp = fopen("d2.dat","w");for (i=0; i<6; i++) fprintf(fp, "%d\n",a[i]);fclose(fp);fp = fopen("d2.dat","r");for (i=0; i<3; i++) fscanf(fp, "%d%d", &k, &n);fclose(fp);printf("%d,%d\n", k, n);}程序运行后的输出结果是A)1,2 B)3,4 C)5,6 D)123,456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2011年计算机等级考试二级C语言上机题库(含答案)
重要说明:本题库为从题中一题一题复制出来工作量大,而且有许多表达式无法在word中快速表示出来(这样会加大工作量)故而省略,或者表达错位,有的地方可能或者肯定会有错,我相信准备参加C语言二级考试的同学应当能够对照参考答案看出来,这是2011年最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
201103二级c语言全真题05详解
本文由lyyying123贡献 doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
一、选择题 (1)D 【解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间 复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存 空间。
(2)D 【解析】 在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利 于提高软件模块的独立性,也是模块划分的原则。
(3)C 【解析】 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序 可靠性的鉴定。
它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济 性。
其中,没有测试的可靠性这一说法。
(4)A 【解析】 对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之 间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对 象的思想广泛应用于C++、Java等语言中,因此A)错误。
(5)C 【解析】 队列是一种操作受限的线性表。
它只允许在线性表的一端进行插入操作,另一端 进行删除操作。
其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。
队列具有 先进先出的特点,它是按"先进先出"的原则组织数据的。
(6)D 【解析】 依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构 成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d, 右子树由ba构成,如下图所示,求得该二叉树的前序遍历序列为选项D)。
(7)A 【解析】 对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则 n1=n2+1,所以该二叉树的叶子结点数等于n+1。
(8)C 【解析】 对于两个关系的合并操作可以用笛卡尔积表示。
单招c语言技能高考试题及答案
单招c语言技能高考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言可以用于系统软件的开发C. C语言不支持面向对象编程D. C语言是面向过程的编程语言答案:C2. 在C语言中,以下哪个关键字用于定义结构体()。
A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ::D. =答案:C4. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. voidD. int答案:C5. 下列关于C语言数组的描述中,正确的是()。
A. 数组的大小在编译时确定B. 数组的大小在运行时确定C. 数组可以存储不同类型的数据D. 数组可以动态分配内存答案:A6. 在C语言中,以下哪个选项是正确的字符串定义方式()。
A. char str[10] = "Hello";B. char str[] = "Hello";C. char str[5] = "Hello";D. char str = "Hello";答案:B7. 下列关于指针的描述中,错误的是()。
A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的地址D. 指针不能存储字符串的地址答案:D8. 在C语言中,以下哪个选项是正确的文件操作函数()。
A. fopenB. fcloseC. fprintD. fscan答案:A9. 在C语言中,以下哪个选项不是控制语句()。
A. ifB. forC. whileD. switch答案:D10. 在C语言中,以下哪个选项是正确的宏定义方式()。
A. #define PI 3.14159B. const int PI = 3.14159;C. int PI = 3.14159;D. const float PI = 3.14159;答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用____关键字可以定义一个常量。
2011.c语言高职题目及答案
p = s;
q = s2 + n % len;
while(*p)
{
*q++ = *p++;
if(q-s2>=len)
{
*q =____0_______;
q = s2;
}
}
strcpy(s,s2);
free(s2);
}
6.
b =___n/a_______;
}
printf("%f\n", a);
3.
最小公倍数
求两个数字的最小公倍数是很常见的运算。比如,3和5的最小公倍是15。6和8的最小公倍数是24。
下面的代码对给定的两个正整数求它的最小公倍数。请填写缺少的代码,使程序尽量高效地运行。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
下面的代码模拟了如何用手工的方法求2的平方根的过程。请填写缺少的代码。
把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
double n = 2;
double a = 0;
double b = n;
while(fabs(a-b)>1E-15)
{
a = (a+b)/2;
则程序输出:
This Is A 99_cat
我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。
假设用户输入的串长度不超过200个字符。
要求考生把所有函数写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。
2011年计算机二级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,continue C) 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类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。
A) -1 B) 1 C) -ffff D) ffff【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。
2011年3月计算机二级C语言真题含答案
2011年3月電腦等級考試二級C語言筆試一、選擇題(1)下列關於棧敘述正確的是A)棧頂元素最先能被刪除B)棧頂元素最後才能被刪除C)棧底元素永遠不能被刪除D)以上三種說法都不對(2)下列敘述中正確的是A)有一個以上根結點的數據結構不一定是非線性結構B)只有一個根結點的數據結構不一定是線性結構C)迴圈鏈表是非線性結構D)雙向鏈表是非線性結構(3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)A)3 B)4 C)6 D)7(4)在軟體開發中,需求分析階段產生的主要文檔是A)軟體集成測試計畫B)軟體詳細設計說明書C)用戶手冊D)軟體需求規格說明書(5)結構化程式所要求的基本結構不包括A)順序結構B)GOTO跳轉C)選擇(分支)結構D)重複(迴圈)結構(6)下麵描述中錯誤的是A)系統總體結構圖支持軟體系統的詳細設計B)軟體設計是將軟體需求轉換為軟體表示的過程C)數據結構與資料庫設計是軟體設計的任務之一D)PAD圖是軟體詳細設計的表示工具(7)負責資料庫中查詢操作的資料庫語言是A)數據定義語言B)數據管理語言C)數據操縱語言D)數據控制語言(8)一個教師可講授多門課程,一門課程可由多個教師講授。
則實體教師和課程間的聯繫是A)1:1聯繫B)1:m聯繫C)m:1聯繫D)m:n聯繫(9)有三個關係R、S和T如下:RA B C a 1 2B 2 1C 3 1SA BC 3TC1則由關係R和S得到關係T的操作是A)自然連接B)交C)除D)並(10)定義無符號整數類為UInt,下麵可以作為類UInt實例化值的是A)-369 B)369 C)0.369 D)整數集合{1,2,3,4,5}(11)電腦高級語言程式的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是A)C語言程式僅可以編譯執行B)C語言程式僅可以解釋執行C)C語言程式既可以編譯執行又可以解釋執行D)以上說法都不對(12)以下敘述中錯誤的是A)C語言的可執行程式是由一系列機器指令構成的B)用C語言編寫的根源程式不能直接在電腦上運行C)通過編譯得到的二進位目標程式需要連接才可以運行D)在沒有安裝C語言集成開發環境的機器上不能運行C根源程式生成的.exe檔(13)以下選項中不能用作C程式合法常量的是A)1,234 B)'123'C)123 D)"\x7G"(14)以下選項中可用作C程式合法實數的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值運算式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程式段char name[20];int num;scanf("name=%s num=%d",name;&num);當執行上述程式段,並從鍵盤輸入:name=Lili num=1001<回車>後,name的值為A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if語句的基本形式是:if(運算式)語句,以下關於“運算式”值的敘述中正確的是A)必須是邏輯值B)必須是整數值C)必須是正數D)可以是任意合法的數值(18)有以下程式#includemain(){ int x=011;printf("%d\n",++x);}程式運行後的輸出結果是A)12 B)11 C)10 D)9(19)有以下程式#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}運行時,若輸入1 2 3 4 5 0<回車>,則輸出結果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程式段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下關於程式段執行情況的敘述,正確的是A)for迴圈語句固定執行8次B)當產生的亂數n為4時結束迴圈操作C)當產生的亂數n為1和2時不做任何操作D)當產生的亂數n為0時結束程式運行(21)有以下程式#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程式運行後的輸出結果是A)0 B)3 C)7 D)8(22)若i和k都是int類型變數,有以下for語句for(i=0,k=-1;k=1;k++) printf("*****\n");下麵關於語句執行情況的敘述中正確的是A)循環體執行兩次B)循環體執行一次C)循環體一次也不執行D)構成無限迴圈(23)有以下程式#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程式運行後的輸出結果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)設有定義:double x[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程式(說明:字母A的ASCII碼值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}。
2011年(上)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考试试卷
2011年(上)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考试试卷第一大题:单选题(30 分)1. (1分) 用C语言编写的C程序称为()。
(A) 源程序(B) 目标程序(C) 汇编程序(D) 命令程序2. (1分) C语言中表示“a和b都大于c”的表达式为()。
(A) a>c&&b>c (B) a>c||b>c(C) a>b||b>c (D) a>b&&b>c3. (1分) 下列说法中正确的是()。
(A) 定义函数时,形参的类型说明可以放在函数体内。
(B) return后边的值不能为表达式。
(C) 如果函数值的类型与返回值类型不一致,以函数值类型为准。
(D) 如果形参与实参类型不一致,以实参类型为准。
4. (1分) 设说明语句如下方所示:struct exa{int x;float y;}z;则下列叙述中不正确的是()。
(A) x和y都是结构体成员名(B) struct exa是用户定义的结构体类型(C) struct是结构体类型的关键字(D) z是用户定义的结构体类型名5. (1分) 下列程序的运行结果为()。
#include<stdio.h>int fun(int num){int k=1;do{k*=num%10;num/=10;}while(num);return k;}void main(){int n=26;printf("%d\n",fun(n));}(A) 26 (B) 8(C) 12 (D) 06. (1分) 下列程序的功能是()。
float average(float p[],int n){float sum=0,aver;int i;for(i=0;i<n;i++)sum+=p[i];aver=sum/n;return aver;}(A) 求数组中前n个数的和(B) 求数组中前n个数的平均值(C) 求数组中后n个数的和(D) 求数组中后n个数的平均值7. (1分) 在给数组赋初值时,若给予的初值数目小于数组大小时,会发生什么情况()。
江苏省2011春秋两季C语言真题及答案
2011年春江苏省计算机二级C考试笔试真题第一部分计算机基础知识1.下列有关通信技术的叙述中,错误的是_____(1)______。
A. 无论是模拟通信还是数字通信,目前都是通过载波技术实现远距离的信息传输B. 多路复用技术可以降低信息传输的成本,常用的多路复用技术有TDM和FDMC. 卫星通信属于微波通信,它是微波接力通信技术和空间技术相结合的产物D. 目前3G移动通信有多种技术标准,我国三大电信运营商均采用同一标准2.使用存储器存储二进位信息时,存储容量是一项很重要的性能指标。
存储容量的单位有多种,下面不是存储容量单位的是___(2)______。
A. TBB. XBC. GBD. MB3.设有补码表示的两个单字节带符号整数a=01001110和b=01001111。
则a-b的结果用补码表示为____(3)_____。
A. 11111111B. 10011101C. 00111111D. 101111114.下列有关PC机主板上BIOS和CMOS的叙述中,错误的是___(4)_____。
A. BIOS芯片是一块闪烁存储器,其存储的信息关机后不会丢失B. BIOS中包含加电自检程序、系统自举程序等C. CMOS芯片属于易失性存储器,它使用电池供电D. CMOS中存放着与硬件相关的一些配置信息,以及CMOS设置程序5.下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,错误的是___(5)___。
A. 目前PC机所使用的Pentium和Core 2微处理器的指令系统有数百条不同的指令B. 所谓双核CPU或四核CPU,是指CPU由两个或四个芯片组成C. DDR内存条、DDR2内存条在物理结构上有所不同,例如它们的引脚数目不同D. 通常台式机中的内存条与笔记本电脑中的内存条不同,不能互换6.下列有关PC机I/O总线与I/O接口的叙述中,正确的是____(6)____。
A. PC机中串行总线的数据传输速率总是低于并行总线的数据传输速率B. SATA接口主要用于连接光驱,不能连接硬盘C. 通过USB集线器,一个USB接口理论上可以连接127个设备D. IEEE1394接口的连接器与USB连接器完全相同,均有6根连接线7.蓝光光盘(BD)是全高清影片的理想存储介质,其单层盘片的存储容量大约为____(7)____。
2011年3月全国计算机二级C语言笔试题库&&答案
2011年3月全国计算机二级C语言笔试题库&&答案一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=0 0;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x *x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
2011年计算机等级考试二级C语言上机题库(含答案)
认识实习报告9月初,我们先前往了山东威海滨田印刷机械有限公司进行认识实习。
此后我们又去了一家大型零件加工厂进行了参观。
通过这次的实习,我们了解到机械行业第一线的一些具体情况,了解了工业生产实施的具体过程,同时也对一些工厂的技术实施,管理方法有了一定的认识。
前往滨田印刷机械有限公司以后,我们在指导老师和工程师的带领下,分批开始了对该厂的参观。
这一切对我们而言陌生有新鲜。
开始,我们在一位严谨的工程师的带领下,去了零件加工厂了解了各类零件的加工。
其中参观了各种自动化得机床,我们还从一部分机床中看到了上学期我们金工实习那些机床的影子。
但给我最大的感触是整个车间里,国产的机床并不是很多。
整个过程纪律严明,一边参观零件的加工,一边聆听了工程师给予我们的讲解了解了整个工厂的第一道程序。
此后,我们前往了三间组装车间,参观了52系列,66系列和47系列三种印刷机的组装。
这次给我们介绍的是一位年轻的工程师,他详细的向我们介绍了这三种印刷机的一些知识。
我们也了解了刚知道这几个型号产生的疑惑,原来,47,52和66的意思是最大用纸尺寸的长。
其中47系列是单色印刷机,可用于印号码,打孔线和树脂凸版印刷。
使用的集中供油系统可以有效的防止因局部遗忘加油造成的零件磨损,延长零件的精度和使用寿命,杜绝润滑油浪费,保护环境卫生。
52系列性能较高,大都是以高级胶印机所具有的高耐久性、高精度的部件为基础,生产的高性能印刷机。
同时也是可适合文字、线条印刷,实地印刷等各种印刷需要。
另外通过添加多种备选装置,使机器升级到更高效率的印刷机。
到66系列时,工程师大哥向我们介绍的较为详细,它分为两款:WEIHAI HAMADA66-NP 实现精美平版印刷及号码印刷的高品质重型印刷机和WEIHAI HAMADA66 真正高品质的重型印刷机。
WEIHAI HAMADA66系列是以真正高质量印刷为目标而生产的大四开重型胶印机。
这款先进的机械拥有按扭式与触摸式键盘,所需操作全部集中在3处操作盘上。
2011年c语言下半年c语言全国高等学校试题与答案
A)计算机病毒可以把自身复制到内存 B)长期不使用感染计算机病毒的计算机,计算机病毒可以自动消 失 C)计算机病毒可以潜伏在文件中并不立即发作 D)计算机病毒可以侵占系统资源,影响系统运行性能 9.网址中http表示————。 A)用户名 B)主机的IP地 址或域名 C)超文本传输协议 D)资源在主机上 的存放路径 10.用高级程序设计语言编写的程序称为————程序。 A)源 B)可执行 C)伪代码 D)目标 11.以下选项中叙述正确的是————。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,被调用的函数必须在main()函数中声明 C) 语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须存放在程序的开始部分 12. C语言程序的三种基本结构是顺序结构、选择结构和————结 构。 A)循环 B)递归 C)转移 D)嵌套 13.以下选) double C) char D)bool 14.以下选项中正确的C语言标识符是————。 A) 2b B) x_1 C) a@b D) 3#h 15. 以下选项中有关C语言的叙述错误的是————。 A)变量不能使用大写字母命名 B)在一个表达式中可以出现不同类型的变量 C)可以将一个字符型常量赋值给一个整型变量 D)可以将一个整型常量赋值给一个实型变量 16. 以下选项中,和语句K=N++;等价的是————。 A)k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k=n+1 17. 已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是 ————。 A) 8 B) 10 C) 12 D)14 18. 已知int a=2,b=3,c',,则执行语句c=(a+2,b+2);后,c的输出结果
2011年C语言试卷(含答案)
2011年计算机科学与技术专业C 语言试卷题号 一 二 三 四 总分校核分数阅卷一、基础知识填空题(每空2分,共20分)1. C 语言规定,必须用___ ____标识符作为主函数。
2. C 语言中用来表示整常数的进制有哪三种:__ _、__ _、__ _。
3. break 语句只能用于___ ____语句和___ ____语句。
4. 数组名命名规则和变量名相同,由字母、数字和下划线组成,并且开头只能是______ _________。
5. C 语言中,形参缺省的存储类说明是___ ______。
6. 一个专门用来存放另一个变量地址的变量叫____ ______。
7. 定义FILE *fp,这里fp 是一个___ _____。
二、基础选择题(每题2分,共30分)1. C 语言程序是由___ ______组成。
A.若干个过程B.若干子程序C.一个主程序和若干个子程序D.若干函数2. 完成C 源程序编辑后,到生成执行文件,C 理系统必须执行的步骤依次为___ 。
A.连接、编译B.编译、连接C.连接、运行D.运行 3. 下列符号中不属于C 语言保留字的是__________。
A.volatileB.thenC.staticD.for4. 假设在程序中a 、b 、c 均被定义成int 型,并且已被赋予大于1的值,则下列几种表达中,能正确表示代数式abc1的C 表达式是__________。
A.1/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/(a*b*c)5.设有int x=10,y=3;则下列表达式值为1的是__________。
A.!(y= =x/3)B.y!=x%7C.x>0&&y<0D.x!=y||x>=y6.字符型常量在内存中存放的是该字符对应的__________。
A. ASCII码值B. 十进制值C. BCD码值D. 内部码值7.以下叙述不正确的是__________。
2011年6月省考C语言新题与参考答案(非选择部分)
一、填空题1、将程序Ccon291.C 填写完整,该程序求出所有满足形如MN + NM =99 的一位整数M和N。
如:当M=1,N=8时,满足18+81=99注:(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/**/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。
#include <stdio.h>void main(){ int m,n,k;for ( m = 1; m < 10 ; m++)for ( n = 1 ;/**/ /**/; n++){ k =/**/ /**/;if (k == 99)printf ( "M = %d N = %d\n", m, n );}getch();}参考答案:#include <stdio.h>void main(){ int m,n,k;for ( m = 1; m < 10 ; m++)for ( n = 1 ;n < 10; n++){ k =10*m + n + 10*n + m;if (k == 99)printf ( "M = %d N = %d\n", m, n );}getch();}2、补充程序Ccon292.C ,分别统计输入整数中小于零、大于零和最低位为3的个数。
输入零时输出统计结果。
注:(1)在每对“/**/”之间的空白处补充程序,以完成题目的要求;(2)不得删改程序中的“/**/”注释和其它代码;(3)源程序在考生文件夹中;务必以原文件名保存程序;(4)Alt+Tab键,切换考试程序与Turbo C ;Alt +Enter 键,切换Turbo C窗口大小。
#include <stdio.h>void main(){int x,na,nb,nc;na=nb=/**/ /**/;printf("Please input integer number, end with 0:\n");scanf("%d",&x);while( x ){if(x<0)/**/ /**/;else++nb;if( abs(x%/**/ /**/)==3 )++nc;printf("Please input integer number, end with 0:\n");scanf("%d",&x);}printf("na=%d nb=%d nc=%d\n",na,nb,nc);getch();}参考答案:#include <stdio.h>void main(){int x,na,nb,nc;na=nb=nc=0;printf("Please input integer number, end with 0:\n");scanf("%d",&x);while( x ){if(x<0)++na;else++nb;if( abs(x%10)==3 )++nc;printf("Please input integer number, end with 0:\n");scanf("%d",&x);}printf("na=%d nb=%d nc=%d\n",na,nb,nc);getch();}3、将程序Ccon301.C 填写完整,实现从键盘按行输入一个5行5列的二维整型数组表示的5 X 5 阶矩阵,并输出最后一列元素的平均值。
2011年全国计算机等级考试二级C语言真题word版
2011年3月二级C语言程序设计笔试试卷(考试时间90分钟,满分100分)一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2 C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#include <stdio.h>main(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#include <stdio.h>main(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#include <stdio.h>main(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#include <stdio.h>main(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#include <stdio.h>void fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#include <stdio.h>main(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#include <stdio.h>main(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#include <stdio.h>void fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2011年秋江苏省计算机二级C语言真题
2011年秋江苏省计算机二级C语言试卷第一部分计算机基础知识1.下列有关信息、信息处理、信息技术的叙述中,错误的是(1)A.信息与物质、能量是客观世界的三大构成要素B.与信息处理相关的行为和活动主要指信息的分类、计算、分析等,但不包括信息的收集和传递C.现代信息技术的主要特征之一是以数字技术为基础D.计算机技术、通信技术均属于信息技术2.下列有关数字技术与微电子技术的叙述中,错误的是(2)A.数字技术是采用有限个状态(主要是两个状态)来表示、处理、存储和传输信息的技术B. 比特是信息的基本单位,1个比特可以表示成8位二进制数C. 集成电路芯片是微电子技术的结晶,是现代信息产业的基础D. Moore定律是指“单块集成电路的集成度平均每18~24个月翻一番”3.下列有关计算机发展与分类的叙述中,错误的是(3)A. 数字电子计算机诞生于20世纪40年代,个人计算机(微型计算机)产生于20世纪80年代初B. 第4代计算机的CPU主要采用中小规模集成电路,第5代计算机采用超大规模集成电路C. 计算机分类有多种方法,按其内部逻辑结构通常分为16位机、32位机或64位机等,目前使用的PC机大多是32位机或64位机D.巨型计算机一般采用大规模并行处理的体系结构,我国国防科技大学研制的“天河一号”巨型计算机,其性能可在全球巨型机排行榜中位居前10名4. 下列有关PC机微处理器的叙述中,错误的是(4)A. 目前PC机所用的各种微处理器均由Intel公司设计和生产B. 微处理器通常由单片集成电路制成C. 一台高性能PC机通常包含多个微处理器D. 台式PC机与笔记本PC机采用的微处理器通常有所不同5. 下列有关PC机主板与芯片组的叙述中,错误的是(5)A. 台式PC机主板的物理尺寸已经标准化B.有些主板将声卡、网卡、显卡的功能均集成在其中C. 芯片组是PC机各组成部分相互连接和通信的枢纽,它们与CPU芯片以及I/O接口同步发展D. PC机主板上可安装的内存条类型及内存最大容量与芯片组无关6. 下列是PC机常用的四种外设接口,其中适用于连接硬盘和光驱的是(6)A. RS-232B. SATAC. IEEE-1394D. VGA7. 下列有关显示器、显示卡、打印机的叙述中,错误的是(7)A. 目前常见的“宽屏”LCD显示器,其屏幕的宽度与高度之比为4:3B. 对于集成显卡来说,显卡的功能主要是由主板的芯片组来实现C. 无论是针式打印机,还是激光/喷墨打印机,均有黑白打印机和彩色打印机之分D. 打印机的主要性能指标之一是打印速度,其单位是PPM8. 下列有关光盘存储器的叙述中,错误的是(8)A. DVD光盘刻录机可以刻录的光盘有CD-R、CD-RW、DVD-R和DVD-RW等类型B. 组合光驱(“康宝”)组合了CD刻录机与DVD刻录机的功能C. 蓝色光驱(BD)使用蓝色激光在光盘上读写信息D. 光盘刻录机的读/写速度通常是不同的,一般来说读取信息的速度快于刻录的速度9. 按照软件著作权益的处置方式,软件可以分为商品软件、共享软件、自由软件等类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
max_index=i;
if(a[i]<a[min_index])
min_index=i;
}
t=a[0];a[0]=a[min_index];a[min_index]=t;
/***********SPACE***********/
if(max_index==【?】){
if(isalpha(str[i]))
/***********FOUND***********/
chnum[toupper(str[i])-97]++;
else
chnum[26]++;
}
for(i=0;i<27;i++)
/***********FOUND***********/
if(chnum[i]=0)
K-O,k-o 3;
P-T,p-t 4;
#include <stdio.h>
#include <conio.h>
int main(){
int a[10]={15,8,12,6,10,1,4,5,9,-3};
int i,t,max_index,min_index;
max_index=min_index=0;
for(i=1;i<10;i++){
int b[4],c[4];
int i;
gcd(a,5,b,c);
for(i=0;i<5;i++)
printf("%d\t",a[i]);
printf("\n");
for(i=0;i<4;i++)
printf("%d\t",b[i]);
printf("\n");
for(i=0;i<4;i++)
printf("%d\t",c[i]);
#include <ctype.h>
int main(){
char str[]={"---JiangSuTeachers University of Technology---"};
int chnum[27]={0},i=-1;
/***********FOUND***********/
while(str[i]){
第一部分【程序填空】
第一套:
题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。
---------------------------------------------------------
注意:请勿改动主函数main()中的其他内容。
int num=0;
for(b=0;b<4;b++){
if(b==3) continue;
for(s=0;s<4;s++){
if((b==s)||(s==2)) continue;
/***********SPACE***********/
for(q=【?】;q<4;q++){
if((q==b)||(q==s)) continue;
for(i=0;i<【?】;i++){
x=a[i];
y=a[i+1];
while(z=x%y){
x=y;y=z;
}
b[i]=y;
/***********SPACE***********/
c[i]=a[i]*a[i+1]/【?】;
}
}
int main(){
int a[5]={8,12,5,7,14};
#include <stdio.h>
#include <conio.h>
int IsAlpha(char c){
/***********FOUND***********/
return ((c>='a' && c<='z') && (c>='A' && c<='Z'));
}
int main(){
char str[]={"/** One World,One Dream! **/"};
/***********SPACE***********/
g=【?】-q-b-s;
printf("%d\n",q*1000+b*100+s*10+g);
num++;
}
}
}
printf("%d\n",num);
getch();
return 0;
}
第五套
题目:在一维数组a中找出最大,最小元素,并将最大元素和数组最后一个元素交换,最小元素和数组首元素交换。
#include <stdio.h>
#include <conio.h>
int main(){
int a[20]={-5,-5,7,-4,-4,25,25,0,0,0,2,4,16,16,8,5,5,5,5,20};
int i,prev,next;
prev=0;
next=1;
while(next<20){
getch();
return 0;
}
第四套
题目:程序输出由0~3四个数字组成的符合下列条件的4位整数:
1.每个4位整数中,0~3四个数字只能出现一次;
2.百位数不能为3,十位数不能为2。
#include <stdio.h>
#include <conio.h>
int main(){
int g,s,b,q;
days=day;
/***********FOUND***********/
for(i=0;i<mon-2;i++)
/***********FOUND***********/
days=mon_days[LeapYear(year)][i];
printf("%d\n",days);
getch();
return 0;
char a[80];
printf("Please enter a string: ");
gets(a);
reverse(a);
printf("The inversed string is: ");
puts(a);
getch();
return 0;
}
第三套
题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。例如对数组a处理后,它的前11个元素为{-5,7,-4,25,0,2,4,16,8,5,20}。
t=a[min_index];a[min_index]=a[9];a[9]=t;
}
else{
/***********SPACE***********/
【?】;
}
for(i=0;i<10;i++)
printf("%d\t",a[i]);
printf("\n");
getch();
return 0;
}
=================================================================
str[next]=0;
puts(str);
getch();
return 0;
}
第五套
题目:主函数main()统计字符串str中的各字母(不区分大小写)及其他字符出现的次数,并显示统计结果(次数为0,则不显示)。下面给定的程序存在错误,请改正。
#include <stdio.h>
#include <conio.h>
int i,j;
for(j=0;j<5;j++)
for(i=0;i<3;i++)
/***********FOUND***********/
s[3*j+i]=t[j][i];
/***********FOUND***********/
s[j]=0;
}
int main(){
char strrow[][5]={{'C','r','r',' ','s'},{' ','o','a','T','t'},{'P','g','m','e','!'}};
/***********SPACE***********/
len =【?】(str);
/***********SPACE***********/
for (j=len-1;【?】; j--){
c=str[j];
str[j]=str[len-1-j];
str[len-1-j]=c;
}
}
int main(){
if(i==26)
printf("other ch=%d\n",chnum[26]);
else
printf("%c(%c)=%d\n",i+65,i+97,chnum[i]);