2008下C语言程序设计A卷+答案a
2008-2009(2)C语言程序设计试卷参考答案及评分标准
试卷参考答案及评分标准一、三、程序阅读题(每空3分,共30分)五、编程题参考答案(第1小题8 分,第2小题12分,共 20分)1. #include <stdio.h>#define n 5int MaxMin(int a[], int n){int mini = maxi = 0;int i;for(i=1; i<5; i++){if( a[i] < a[mini] )mini = i;if( a[i] > a[maxi])maxi = i;}printf("最小值是:%3d\n",a[mini]);printf("最大值是:%3d\n",a[maxi]); +3t = a[maxi];a[maxi] = a[mini] ;a[mini] = t;printf("调整后的数为: ");for(i = 0; i < 5; i++)printf("%d ", a[i]);printf("\n");return 0; +3}int main(){int a[n], t, i, maxi, mini;for(i=0; i<n; i++)scanf("%d", &a[i]);MaxMin(a,n); +2return 0;}2. #include <stdio.h>#include <string.h>#include <stdlib.h>#define N 100struct Student{int number;char name[10];int age;}stu[N],temp; +3 int main(){int i,k,j;FILE *fp;for( i =0; i < N; i++){scanf("%s%d",stu[i].name, &stu[i].age); +2 }for(i=0;i<N-1;i++){k=i;for(j=i+1;j<N;j++)if(strcmp(stu[k].name,stu[j].name)>0) k=j;if(k!=i){temp.age=stu[i].age;strcpy(,stu[i].name);stu[i].age=stu[k].age;strcpy(stu[i].name,stu[k].name);stu[k].age = temp.age;strcpy(stu[k].name,); +4 }}if ( (fp = fopen("studentnumber.txt","w")) == NULL){printf("Can not create the output file\n");exit(1); +2 }else{for ( i = 0; i < N; i++)fprintf(fp,"%10d%10s%5d\n",i+1,stu[i].name,stu[i].age);}fclose(fp); +1return 0;}。
C语言程序设计(A卷)
第 1 页 共 5 页一、单选题(每小题1分,共30 分)1. 若变量已正确定义,要求完成求6!的计算,不能完成操作的程序段是 。
A )for(i=1;i<=6;i++) {p=1;p*=i;}B )for(i=1,p=1;i<=6;i++) p*=i;C )i=1;p=1;while(i<=6) {p*=i;i++;}D )i=1;p=1;do {p*=i;i++;} while(i<=6);2. 以下程序的输出结果是 。
main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c++; else c++; else c--; printf("%d",c);}A )1B )4C )2D )3 3. 以下程序的输出结果是 。
main(){int x=0,a=0,b=0; switch(x) {case 0:b++; case 1:a++;break; case 2:a++;b++;}printf("a=%d,b=%d",a,b); }A )a=2,b=1B )a=1,b=1C )a=1,b=0D )a=2,b=2 4. 以下程序的输出结果是 。
main(){ int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }A )10 1 9 2B )9 8 7 6C )10 10 9 1D )10 9 9 0 5. 以下程序的输出结果是 。
main(){int s=0,i,x[][3]={1,2,3,4,5,6,7,8}; for(i=0;i<3;i++) s=s+x[i][2-i]; printf("%d",s); }A )6B )15C )36D )0 6.下面程序段执行后,a 的值是______。
2007-2008年c语言考试A卷
吉林大学农学部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]在数组中位置的公式为( )。
C语言程序设计2007~2008学年第二学期期末考试试卷(A)
。
整型常量整型表达式 整型常量或整型表达式任何类型的表达式
、
若二维数组有列,则在前的元素个数为
。
、 以下叙述中不正确的是。
在中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 在中,在调用函数时,实参和对应形参在类型上只需赋值兼容 在中,外部变量的隐含类别是自动存储类别 在中,函数形参可以说明为变量
、 以下程序运行后输出结果是 () () ()
大厦白蚁预防工程承包合同合同签订版
、 以下程序运行后输出结果是 ❖❖
、 以下程序运行后输出结果是
四、 程序设计题共分
得分 评阅人
某班级学生进行百米跑测试,规定成绩在秒以内(含秒)为优秀,在 秒以上至秒为达标,在秒以上为不达标,编一程序,从键盘上输入每个 人的成绩,以作为输入变量,并以小于的任何数作为终止标志,分别用变量 和统计出成绩为优秀、达标和不达标的人数。
、 以下正确的函数原型语句是。
、 循环体至少被执行一次的语句为。
循环循环循环 任一种循环
、 在下面循环语句中内层循环体语句的执行总次数为。
、 函数调用不可以。
出现在一个表达式中 出现在执行语句中 作为一个函数的实参 作为一个函数的形参
大厦白蚁预防工程承包合同合同签订版
、 将两个字符串连接起来组成一个字符串时,选用函数。
大厦白蚁预防工程承包合同合同签订版
试卷编号:卷
课程编号:课程名称:语言程序设计考试形式: 闭卷
适用班级:全校非计算机专业姓名:学号: 班级:
学院:专业: 考试日期:、、
题号 一 二 三 四 五 六 七 八 九 十 总分 累分人
题分 得分
签 名
考生注意事项:、本试卷共页,请查看试卷中是否有缺页或破损。如有立 即举手报告以便更换。
2008年9月全国计算机二级笔试C语言程序设计真题及答案
2008年9月全国计算机二级笔试C语言程序设计真题及答案2008年9月全国计算机二级笔试C语言程序设计真题及答案一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
《C语言程序设计》期末笔试模拟试卷及参考答案
《C语言程序设计》期末笔模拟试卷(本试卷满分60分)院系学号姓名1. 答案均写在答题纸上,写在卷面上无效;2. 答题结束后将试卷及答题纸全部交给监考教师;一、单选题 (1分×16,共16分)1. 下面 (1) 是正确的局部数组声明CA. char a[][5]={“math”,“phy”,“chemi” };B. int b[3][3]={{1,2,3},4,5,6,7,{8,9}};C. float c[sizeof(sin(1))]={1,‘\n’};D. char ch[ ][10]={“Beijing”,“Nanjing”},*p[ ]={ ch[0],ch[1] };2. 如下哪个程序语法、语义都正确,且能获得正确的运行结果(2) A3. 若有声明:enum d{ e,s,w,n}c=s;则表达式“ops”+ c值的类型是 (3) 。
B A. enum d B. char * C. int D. int *4. 下列叙述中除 (4) 之外都是正确的。
BA.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。
B.不能用extern定义一个外部变量、数组。
C. 无论在函数外还是在函数内说明引用本程序中定义的函数,都可不写extern关键字。
D.用extern说明引用一个外部数组时,可以不给出数组大小。
5. 下列能正确执行的程序是: (5) A6. 对于二维数组定义: int a[i][j]; (i、j均为常量),且有:0≤m<i,0≤n<j , 则下列除 (6) 外,都是不等价的。
BA. a+m 与 a[0]+mB. a+m 与 *(a+m)C. *(a+m) 与 *a[m]D. *a 与 *a[0]7. 若程序中有声明:“float a,b[3][4];”与引用函数的说明:“int fun(floatk[][3]),int n);”则下列 (7) 都是常量或常量表达式。
2008-2009第二学期《C程序设计》试卷A(08级09.4,含答案)
一、选择题(每题1分,共20分)1.设 int b=2;表达式b/(b*2)的值是()。
A. 0B. 0.5C. 0.500000D. 0.000002.下列标识符中不合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab3.以下程序的输出结果是()。
void main(){int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,114.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。
A.4 B.16 C.32 D.525.下述程序段中,while循环执行次数是( )。
int k=0;while(k=1) k++;A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A. a < > 0B. !aC. a=0D. a!=07.执行下述语句后,*(p+1)的值是( )。
char s[]= “ab”,*p;p=s;A.‘b’B. OC. 不定值D. 非法引用128.有以下语句:int b;char c[10];,则正确的输入语句是( )。
A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。
A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>010.C 语言中的逻辑运算结果,用( )表示逻辑“真”值。
2008年4月全国计算机等级考试二级笔试试卷 C语言程序设计
2008年4月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分。
共70分)下列各题A)、B)、C)、D)4个选项中,只有一个选项是正确的,请将正确的选择涂写在答题卡相应位置上,答在试卷上不得分。
(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)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()A )快速排序B )冒泡排序C )直接插入排序D )堆排序(7)下列关于栈的叙述正确的是( )A )栈按“先进先出”组织数据B )栈按“先进后出”组织数据C )只能在栈底插入数据D )不能删除数据 (8)在数据库设计中,将E-R 图转换成关系数据模型的过程属于( )A )需求分析阶段B )概念设计阶段C )逻辑设计阶段D )物理设计阶段(9)有3个关系R 、S 和T 如下:B C D a 0K1 b1n1R S B C D F 3 h2A 0 k1N2x1B C D ak1T由关系R 和S 通过运算得到关系T ,则所使用的运算为( )A )并B )自然连接C )笛卡尔积D )交(10)设有表示学生选课的3张表,学生S (学号、姓名、性别、年龄、身份证号),课程C (课号、课名),选课SC (学号、课号、成绩),则表SC 的关键字(键或码)为( )A )课号,成绩B )学号,成绩C )学号,课号D )学号,姓名,成绩(11)以下叙述中正确的是( )A )C 程序中的注释只能出现在程序的开始位置和语句的后面。
C语言程序设计试题A(附答案)NEW
《C语言程序设计》模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是()。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。
A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的是()。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};4、执行下列程序段后输出的结果是()。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是( )A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)10、下面程序的输出结果是()int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、填空题。
2008-2009-2标准A标准答案
一、单项选择题(本题共25个小题,每题2分,共50分)
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][B][C][D]
8.[A][B][C][D]
void fun( char *a, char *p )
{
char *m;
char n[81]="";
int i=0;
m=a;
while(*m=='*')m++;
while(m!=p)
{
if(*m=='*')
m++;
else
{
n[i]=*m++;
i++;
}
}Hale Waihona Puke sprintf(a,"%styru%s",n,p);
31.编程实现用递归法计算 。
long func(int n)
{
long z;
if(n==1||n==0)
z=1;
else
z=n*func(n-1);
return z;
}
void main()
{
int n;
scanf("%d",&n);
printf(" n!=%ld\n",func(n));
}
32.请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。
C语言期末试卷及答案A
XX 学院试卷《C语言程序设计试卷》试卷(A卷)一、填空题(每题2分,共10×2=20分)1、除机器语言之外的其他语言要被机器识别,必须经过翻译的过程,翻译有编译和解释两种,C语言所采用的是翻译方式。
2、C语言是函数驱动的,组成C语言程序的基本单位是。
3、C语言的入口函数是函数,且程序亦结束于该函数。
(填写英文)4、在函数体中,一条C语言语句均以结尾。
(填写符号)5、C程序的调试过程包括:→→→四个步骤。
6、基本数据类型包括:整数类型、浮点类型、和枚举类型。
7、浮点型包括单精度型和。
8、变量命名时,在能取得符号中,不能以开头。
9、63%10= 。
10、有数组定义如:int x[10];则数组的第三个元素应表示为。
二、单选题(每小题1分,多选,错选都不得分;共15×1=15分)1、C语言中主函数的个数是( )A、1个B、2个C、6个D、任意多个2、以下不属于C语言基本数据类型的是( )。
A、字符型B、浮点型C、整型D、空类型3、下面关于字符常量和字符串常量的叙述中错误的是( )。
A、字符常量由单引号括起来,字符串常量用双引号括起来B、字符常量只能是单个字符,而字符串常量则可以包含一个或多个字符C、字符常量占用一个字节的内存空间,字符串常量占的内存字节数等于字符串中字节数D、可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋予一个字符变量4、设有变量说明:float x=4.0,y=4.0;。
下面使x为10.0的表达式是( )。
A、x -=y*2.5B、x/=y+9C、x*=y-6D、x+=y+25、下列程序段的输出结果是( )。
char c1,c2;c1=65;c2=65+32+1;printf(“%c,%c”,c1,c2);A、a,BB、A,BC、A,bD、a,b6、以下运算符为单目运算符的是( )。
A、!B、&&C、%D、?:7、以下哪项不属于结构化程序设计方法的特点( )。
C程序设计试卷A卷
杭州师范大学信息科学与工程学院2007-2008学年第1学期期末考试《C程序设计》试卷(A)班级:学号:姓名一、根据C程序设计的有关概念,判断以下表述的正确性。
对的在括号内填上(×)1.在C源程序中将语句“if(x==5) y++;”误写作“if(x=5) y++;”,将导致编译错误。
(√)2.设变量定义为 char s[]= ”hello”,则数组s 中有6个元素。
(×)3.若表达式sizeof(int)的值为2,则int类型数据可以表示的最大整数为 216-1。
(×)4.C的double类型数据可以精确表示任何实数。
(×)5.函数原型为“void sort(float a[],int n)”,调用该函数时,形参数组a被创建,实参数组各元素的值被复制到a数组各元素中。
(×)6.'B'和”B”在内存中的表示没有区别。
(×)7.a是一维数组名,数组元素a[1]还可以写作“*(a++)”。
(√)8.若文件打开方式为”w”而该文件已经存在,则文件中原有数据被清空。
(×)9.p为指向字符串的指针变量,*p表示所指的字符串。
(√)10.表达式(15>>2)&2 的值是2。
二、单项选择题(最佳选择)(共20分,每小题2分)1.C语言规定函数的返回值的类型是由( D )。
A.return语句的表达式所决定B.调用该函数时的主调函数返回值类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数返回值类型所决定2.C语言在判断逻辑值时,以( C )作为逻辑“真”值。
A.true B.t 或 y C.非0值D.数值03.设有定义:char s[12]={”string”};则printf(”%d”,strlen(s));的输出是( A )。
A.6 B.7 C.11 D.124.设ch是char型变量,其值为’A’,则表达式:ch = (ch>=’A’ && ch<=’Z’)?(ch+32):ch 的值是( B )。
2008年C++期末试卷-A卷试题及答案
院(系):专业:年级:学生姓名:学号:-------------------------------------------------密----------------------------------封-----------------------------线---------------------------------------------------------第 1 页(共 3 页)------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------第 2 页共 3 页------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------第 3 页(共 3 页)2007–2008学年第二学期期末考试试卷(A卷)课程名称: 面向对象程序设计课程编号:任课教师:一、单项选择题:(共20题,每小题2分,共40分)1. B 2. C 3. C 4. A 5. A 6. B 7. B 8. C 9. B 10. D 11. C 12. D 13. D 14. B 15. C 16. D 17. B 18. A 19. A 20. A二、填空题:(共10题,每小题1分,共10分)21.true ,false 1 ,0 22.内联函数,编译,执行时间23.this 24.new25.继承26.私有,私有,不可访问27.虚函数28.基类指针或引用三、程序改错题:(共2题,每题5分,共10分)29.【答】【答】错误处标号如下:①///************************************************* 程序文件名: p1_2.cpp **************************************************/#include <iostream>;④using std::endl;⑤void main( )⑥float num1, num2, num3; //定义三个数cin ⑦<< num1 << num2<<num3;cout >> ⑧“The average is:”⑨>> setw(30) ⑩>>(num1+num2+num3)/3>> endl;}①行注释符号//将块注释的头/*注释掉了,使得块注释的尾*/没有相应的头与之匹配;②关键字Using中包含了大写字母,应改为using;③using namespace std不是预处理指令,要以分号结尾;④#include <iostream> 是预处理指令,不能以分号结尾,而且要作为程序的开头行⑤使用了using namespace std,就不必单独使用std::endl;⑥void main() 后少了{;⑦cin应与提取操作符>>连用;⑧cout应与插入操作符<<连用;⑨“The average is:”为全角引号,应改为英文;⑩使用setw(30) 应包含头文件iomanip30.【答】①int a(0),b(0); //错误,数据成员的初始化必须通过构造函数实现改正:int a,b;②A x(2,3), y(4); //错误,对象y的初始化与已定义的构造函数参数表不匹配,可重载一个构造函数对对象y进行初始化。
C语言程序设计2007~2008学年第二学期期末考试试卷(A)
南昌大学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、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
样卷A《C语言程序设计》
C语言程序设计样卷A一、单选题(每小题2分,共40分)1.下面程序的输出是(B)。
main( ){ int x = 023;printf( "%d\n",--x);}A.17B.18C.23D.242.在C语言中,设int型变量占2个字节,则不正确的int类型常数是(A)。
A.62768B.12C.037D.0xa3.当a=1,b=2,c=3时,执行以下语句后a,b,c的值分别是(D )。
if(a>c)b=a;a=c;c=b;A.3,2,1B.1,2,3C.3,1,1D.3,2,24.以下叙述中正确的是(B)。
A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套5.以下叙述中不正确的是(B)。
A.在函数中,通过return语句获得返回值B.在函数中,如果没有return语句则不带回返回值C.在函数中,可以有多条return语句D.在C中,调用函数不必在一条独立的语句中完成6.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(C)。
A.p+1B.a+1C.a++D.++p7.下面程序的输出是( A )。
main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A.3B.4C.1D.28.执行下面程序中的输出语句后,a的值是(C)。
main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}A.65B.20C.15D.109.下面程序的输出是(C)。
main ( ){ int a = - 1, b = 4, k;k = (a++ <=0)&&(! (b-- <= 0));printf("%d %d %d \n",k,a,b);}A.0 0 3B.0 1 2C.1 0 3D.1 1 210.以下程序的输出结果是(A)。
《C语言程序设计》(3学分)试卷A
说明: 请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。
试卷中C 语言程序的开发环境是VC 6。
一、选择题(共20小题,每小题2分,共40分)1。
以下正确的C 语言自定义标识符是______。
A ) _1aB ) 2a_C ) doD) a 。
12 2。
温度华氏和摄氏的关系是: C=95(F-32)。
已知:float C ,F ;由华氏求摄氏的正确计算的表达式是____。
A ) C=5/9(F —32) B) C=5*(F —32)/9C ) C=5/9*(F —32)D ) 三个表达式都正确3. 设float x,由键盘输入:12。
45, 能正确读入数据的输入语句是_________。
A ) scanf ("%5。
2f",&x)B ) scanf ("%d ”,&x );C ) scanf ("%f ”,&x );D ) scanf(”%f ”,x );4。
一个C 程序的执行是从( )A) main ()函数开始,直到main()函数结束B ) 第一个函数开始,直到最后一个函数结束C) 第一个语句开始,直到最后一个语句结束D ) main ()函数开始,直到最后一个函数结束5。
判断char 型变量c1是否为数字的正确表达式为 ________。
A) 0〈=c1〈=9 B ) c1〉=0 &&c1〈=9C ) ‘0’〈=c1〈='9'D ) c1〉='0'&&c1〈='9’6。
switch(表达式)语句中的“表达式",允许的类型是_________.A ) float, intB ) float , int , charC) int, char D ) char , double7. 设int i ,j , x=0;for (i=5;i;i--)for (j=0;j 〈4;j++)x++;则循环体结束后,x 的值为________.A) 5 B ) 20C) 25 D) 死循环8. 设x 和y 均为int 型变量,则执行下面的循环后,y 值为_________。
C程序设计07-08第二学期A答案
(勤奋、求是、创新、奉献)2007~2008学年第二学期考查试卷主考教师:章颖芳《程序设计基础(C)》课程试卷A参考答案(本卷考试时间90 分钟)题号一二三四五六七八九十总得分题分2020101040100得分一、单项选择题(每小题 2 分,共20 分)1-10:DCCBC DBABA二、填空题(每小题 2 分,共20 分)1.c>=’A’ && c<=’Z’2.a>=b && b>=c3.num%2==04. 35.06. 27.48.y = f =9.7,10.18, 20三、程序阅读题(每题5分,共10分)1.13, 33, 12, 332.0四、程序填空题(每题 5 分,共10 分)1.int n;sum=0;sum+=i;2.for(i=0; i<n; i++)scanf("%d", &a[i]);a[index]=a[k]for(i=0; i<n; i++)printf("%d ", a[i]);五、编程题( 每题10分,共40 分)1. 对任意输入的 x ,用下式计算并打印出 y 的值。
⎪⎩⎪⎨⎧>-+<=<+-<=-=111010152x x x x x e x x y x#include<> #include<> int main(){ float x,y; printf("Enter x:"); scanf("%f",&x); if(x<=0) y= 5*x - 1; else if(x<=1) y= exp(x) - x +1; else y= x*x + x - 1; printf("y=%f\n",y);}2. 编写程序。
输入一个正整数n (n>=1),计算 ++++++116957453321的前n 项之和,输出时保留3位小数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008 下学期 C 语言统考试卷参考答案(A)
一、单项选择题: 二、程序阅读题: 三、程序填充题: 四、程序设计题
中国地质大学(武汉)考试出题专用纸
13.有以下程序 struct STU{ char name[10]; int num; }; void f1(struct STU c) { struct STU b={"LiSiGuo",2042}; c=b; } void f2(struct STU *c) { struct STU b={"SunDan",2044}; *c=b; } main( ) { struct STU a={"YangSan",2041},b={"WangYin",2043}; f1(a); f2(&b); printf("%d %d\n",a.num,b.num); } 执行后的输出结果是 (13) A)2041 2044 B)2041 2043 C)2042 2044 D)2042 2043 14.以下程序的输出结果是 (14) 。 main() { char a[]=”abcXYZ”; int i,j,k=0; for( i=0;a[i];i++); for ( j=0; a[j]; j++) if ( a[j]<a[k] ) k=j; i- -; j=a[i]; a[i]=a[k]; a[k]=j; printf ( “%s”, a); } A)abZXYc B) XbcaYZ C) cbaXYZ D) abcZYX 15.有以下程序 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s); } 程序执行后的输出结果是 (15) A)自然数 1~9 的累加和 B)自然数 1~10 的累加和 C)自然数 1~9 中的奇数之和 D)自然数 1~10 中的偶数之和 16.以下程序的运行结果是 (16) 。 main() { char a[20]="abc",b[]=”XYZpq12”,*p=a,*p1=b; for( ; *p; p++); for(; *p1; p1++) if(*p1<’X’) *p++=*p1; *p=0; printf("\n %s",a); } A) 12 B) pq12 C) abc12 D) abcpq12
教务处制
四、程序设计题(20 分)
学校组织《地大杯学风校风演讲赛》 ,已知文本文件 f1.txt 中存放了所有报名参加比赛学生的信 息(不超过 1000 人) ,具体数据及存放格式为:每行存放一个学生的数据,共有 4 项,依次为: 姓名(不超过 10 个字符) 、性别(整数:0 为男,1 为女) 、年龄(整数) 、班号(不超过 6 个字 符) ,其间用空格分隔。请编写程序,读出文件中的内容,再按筛选条件筛选后以文本方式存放 到文件 f2.txt 中。 筛选条件: 1. 同一班中只取一名年龄最小的男学生和一名年龄最小的女学生。 2. 同班同性别同年龄的学生按先报名先取的原则。
学时: 60 满分: 80
试卷类别
注:答案写在答题纸上。
A
考试内容: 一、 单项选择题(每题 2 分,共 20 分)
使用班级
使用学期
2008 下学期
任课教师
朱莉等
教研室主任 审核签字
1.以下选项中,均符合 C 常量形式的是__(1)_ 。 A) e5, 0123 B) 0xffce, ‘\n’ C) 02468, 0.1e-5 D) l02, 123 2.设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是 (2) A)a++; B)b++ C)c++; D)d++; 3.假定 int a=0, b=1, 表达式: !(a=’0’) && b--, a+b 的值是 (3) 。 A) 0 B) 1 C) 48 D) 49 4.以下叙述中正确的是(4) A)C 语言的源程序不必通过编译就可以直接运行 B)C 语言中的每条可执行语句最终都将被转换成二进制的机器指令 C)C 源程序经编译形成的二进制代码可以直接运行 D)C 语言中的函数不可以单独进行编译 5.设有定义:float a=2,b=4,h=3;,以下 C 语言表达式与代数式计算结果不相符的是 (5) A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b) 6. 设 char a[]=”ab’1’\\\1278”;则数组 a 的长度是 (6) 。 A)6 B)7 C)8 D)9 7.有以下定义 #include <stdio.h> char a[10],*b=a; 不能给数组 a 输入字符串的语句是 (7) A)gets(a) B)gets(a[0]) C)gets(&a[0]); D)gets(b); 8.设有下面的程序段: char s[ ]=“china”;char *p; p=s; 则下列叙述正确的是__ (8) _。 A) s 和 p 完全相同 B) 数组 s 中的内容和指针变量 p 中的内容相等 C) s 数组长度和 p 所指向的字符串长度相等 D) *p 与 s[0]相等 9.以下程序段中与语句 k=a>b?(b>c?1:0):0;功能等价的是 (9) A) if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1 else k=0; C) if(a<=b) k=0; D) if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0;
教务处制 17.有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf("n=%d\n",n); } 程序执行后的输出结果是 (17) A)n=5 B)n=2 C)n=3 D) n=4 18.以下程序的运行结果是 (18) 。 main() { int a=3, b=5 , c=0, x=10, y=20 ; if ( a<b ) c = a, a = b, b =c; if ( x>y ) c=x ; x=y; y=c; printf (“\n %d,%d,%d,%d”,a,b,x,y ); } A) 5,3,10,20 B) 5,3,20,3 C) 5,3,20,10 D) 语句不合法 19.以下程序的运行结果是 (19) 。 main() { int i,j,k,p=0,s,a[3][3]={4,3,6,7,2,8,5,1,9}; for( i=0;i<3;i++) { s=0; for(j=0;j<3;j++) s+=a[j][i]; if ( p<s) { p=s; k=i; } } printf("\n %d ",k); } A) 0 B) 1 C) 2 D)都不是 20.有以下程序 void swap1(int c[]) { int t; t=c[0];c[0]=c[1];c[1]=t; } void swap2(int c0,int c1) { int t; t=c0;c0=c1;c1=t; } main( ) { int a[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]); printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]); } 其输出结果是 (20) A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 学期
任课教师
朱莉等
教研室主任 审核签字
D)k>10 D)k–k/10 D)printf (“%d”,count)
中国地质大学(武汉)考试答题专用纸
教务处制 文华书店
A
班级
课程:
注:
C 语言程序设计
请在所选的项上打√,不必涂黑。
一、单项选择题(每题 2 分,共 20 分)
试卷类别 A
使用班级
使用学期
2008 下学期
任课教师
朱莉等
教研室主任 审核签字
中国地质大学(武汉)考试出题专用纸
三、程序填充题(每空 2 分,共 10 分) 选择适当的内容填在以下各程序的下划线处,以使程序完整。 ●从键盘输入一英文句子,统计出其中单词数。 #include "stdio.h" main() { char a[100]; int i, in_word, word_num; gets(a); word_num=0; in_word=0; for(i=0; a[i]; i++) { if(a[i]==' ') (21) ; else if(in_word==0) { (22) ; } } printf("\n %d", word_num); } (21) A) continue B) word_num++ C) in_word=0 D) in_word=1 (22) A) word_num++; in_word=1 B) word_num++; in_word=0 C) in_word=1 D) in_word=0 ●求 100 至 1000 之间有多少个数其各位数字之和是 5。 main() { int i,s,k,count=0; for(i=100; i <=1000; i++) { s=0; k= i; while ( (23) ) { s=s+k%10; k= (24) ; } if(s==5) (25) ; } printf(“\n %d”,count); } (23) A)1 (24) A)k/10 (25) A)continue B)k B)k%10 B)break C)k>1 C)k–k%10 C)count++