2008级C语言期末机考试卷及答案

合集下载

2008级C语言程序设计试卷_A带答案(2009.6)

2008级C语言程序设计试卷_A带答案(2009.6)

天津工业大学200 8 ~200 9 学年第 2 学期C 程序设计试卷(A)学院班级学号姓名注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。

2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。

二、阅读程序题答题处:(每空3分,共30分)四、完善程序填空题答题处:(每空2分,共18分)一、单项单选题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,能够作为变量名使用的是【1】。

A) n_1 B) charC) x(2) D) 2_a2.若有定义语句char ch='\072'; 则变量ch 【2】。

A) 定义错误B) 包含1个字符C) 包含3个字符D) 包含4个字符3.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【3】。

char ch1; ch1='B'+'5'-'3'; printf("%d,%c",ch1,ch1);A) D,D B) 68,DC) D,68 D) 68,684.若有如下语句:int x; float y;scanf("k=%d,f=%f",&x,&y);则能够正确的为变量x输入5、为变量y输入3.2的方法是【4】。

说明:备选答案中的<CR>表示回车符A) 5 3.2 <CR> B) 5 <CR> 3.2 <CR>C) k=5,f=3.2 <CR> D) x=5,y=3.2 <CR>int k=10; printf("%d,%o,%x",k,k,k);A) 12,a,10 B) 12,10,aC) 10,12,a D) 10,a,126.判断char 型变量ch 是否为小写字母的正确表达式是【6】。

2008管科C语言试题A及参考答案

2008管科C语言试题A及参考答案

管理学院管理科学与工程专业2008程序设计试题(A)(说明:所有答案均写在答题纸上,考完试卷交回)一、选择题(每小题2分,共24分)以下每题有四个答案,分别标有(A)、(B)、(C)、(D),其中只有一个是正确答案。

选择正确答案并将其标号写在答题纸上。

1. 以下不正确的if语句是( )。

(A) if(x>y && x!=y); (B) if(x<y){x++;y++;}© if(x!=y) scanf(“%d”,&x) elsescanf(“%d”,&y); (D) if(x==y) x+=y;2. 有程序片段:static char *s=”abcde”; s+=2;printf(“%s”,s);其运行结果为( )。

(A) cde (B) c (C) c的地址(D) 不确定3. 若有说明:static int a[3][4]={0}; 则下面正确的叙述为( )。

(A) 只有元素a[0][0]得到初值0 (B) 数组a中各元素初值均为0© 数组a中各元素均有初值,但不一定是0(D) 此说明语句错误4. 已知ch为字符型变量,下面不正确的赋值语句为( )。

(A) ch=‟a+b‟; (B) ch=‟\0‟; (C)ch=‟7‟+‟9‟; (D) ch=5+9;5. 程序段:main( ){int y=10; do{y--;} while(--y);printf(“%d\n”, y--); }其输出结果为( )。

(A) -1 (B) 1 (C) 8(D) 06. union{unsigned char c[2]; unsigned int i;}m;m.i= ~0377;则m.c[0],m.c[1]为( )。

(A) 0、0377 (B) 0377、0 (C) 0、不确定(D)不确定、07. 执行程序:void sum(int a[ ]){a[0]=a[-1]+a[1];}main( ){int a[ ]={1,2,3,4,5}; sum(&a[2]);printf(“%d\n”, a[2]); }输出结果为()。

2008安徽c语言试题及答案

2008安徽c语言试题及答案

2008安徽c语言试题及答案一、单项选择题(本大题共20小题,每小题2分,共40分。

每小题只有一个选项是正确的,请将正确选项的字母填在答题卡上相应的位置。

)1. 在C语言中,下列关于变量的叙述中,不正确的是()。

A. 变量名可以包含下划线B. 变量名可以包含数字C. 变量名区分大小写D. 变量名必须以字母或下划线开头答案:D2. 以下选项中,不是C语言关键字的是()。

A. intB. charC. voidD. main答案:D3. 若有以下定义:int a=5;,则表达式a++的值为()。

A. 4B. 5C. 6D. 0答案:B4. 在C语言中,下列关于数组的叙述中,不正确的是()。

A. 数组的索引从0开始B. 数组的索引从1开始C. 数组的元素可以是任意类型D. 数组的元素可以是常量答案:B5. 在C语言中,下列关于指针的叙述中,不正确的是()。

A. 指针可以存储地址B. 指针可以存储数据C. 指针可以作为函数参数D. 指针可以作为函数的返回值答案:B6. 下列关于函数的叙述中,不正确的是()。

A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以递归调用D. 函数可以嵌套定义答案:D7. 下列关于结构体的叙述中,不正确的是()。

A. 结构体可以包含其他结构体B. 结构体可以包含数组C. 结构体可以包含指针D. 结构体不能包含函数答案:D8. 在C语言中,下列关于文件操作的叙述中,不正确的是()。

A. 文件操作需要包含头文件stdio.hB. 文件操作需要使用文件指针C. 文件操作只能使用二进制文件D. 文件操作可以使用打开、读取、写入、关闭等操作答案:C9. 下列关于预处理指令的叙述中,不正确的是()。

A. #define可以定义宏B. #include可以包含头文件C. #if可以进行条件编译D. #pragma可以定义函数答案:D10. 在C语言中,下列关于循环的叙述中,不正确的是()。

C语言程序设计2007~2008学年第二学期期末考试试卷(A)

C语言程序设计2007~2008学年第二学期期末考试试卷(A)
时,其数组下标的数据类型允许是

整型常量整型表达式 整型常量或整型表达式任何类型的表达式

若二维数组有列,则在前的元素个数为

、 以下叙述中不正确的是。
在中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 在中,在调用函数时,实参和对应形参在类型上只需赋值兼容 在中,外部变量的隐含类别是自动存储类别 在中,函数形参可以说明为变量
、 以下程序运行后输出结果是 () () ()
大厦白蚁预防工程承包合同合同签订版
、 以下程序运行后输出结果是 ❖❖
、 以下程序运行后输出结果是
四、 程序设计题共分
得分 评阅人
某班级学生进行百米跑测试,规定成绩在秒以内(含秒)为优秀,在 秒以上至秒为达标,在秒以上为不达标,编一程序,从键盘上输入每个 人的成绩,以作为输入变量,并以小于的任何数作为终止标志,分别用变量 和统计出成绩为优秀、达标和不达标的人数。
、 以下正确的函数原型语句是。
、 循环体至少被执行一次的语句为。
循环循环循环 任一种循环
、 在下面循环语句中内层循环体语句的执行总次数为。
、 函数调用不可以。
出现在一个表达式中 出现在执行语句中 作为一个函数的实参 作为一个函数的形参
大厦白蚁预防工程承包合同合同签订版
、 将两个字符串连接起来组成一个字符串时,选用函数。
大厦白蚁预防工程承包合同合同签订版
试卷编号:卷
课程编号:课程名称:语言程序设计考试形式: 闭卷
适用班级:全校非计算机专业姓名:学号: 班级:
学院:专业: 考试日期:、、
题号 一 二 三 四 五 六 七 八 九 十 总分 累分人
题分 得分
签 名
考生注意事项:、本试卷共页,请查看试卷中是否有缺页或破损。如有立 即举手报告以便更换。

2008安徽c语言试题及答案

2008安徽c语言试题及答案

2008安徽c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是()。

A. C语言是一种高级语言B. C语言是一种面向对象的语言C. C语言具有丰富的库函数D. C语言具有较好的移植性答案:B2. 在C语言中,用于定义结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述,正确的是()。

A. 数组必须在程序的开始处定义B. 数组的下标从0开始C. 数组的大小在定义后不能改变D. 数组可以是多维的答案:D4. 在C语言中,用于文件操作的函数是()。

A. printfB. scanfC. fopenD. fclose答案:C5. 下列关于指针的描述,错误的是()。

A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B6. 在C语言中,用于定义函数的关键字是()。

A. intB. voidC. returnD. function答案:B7. 下列关于循环的描述,错误的是()。

A. for循环可以嵌套使用B. while循环可以无限循环C. do-while循环至少执行一次D. break语句可以用于跳出循环答案:D8. 在C语言中,用于定义枚举类型的关键字是()。

A. enumB. structC. unionD. typedef答案:A9. 下列关于预处理指令的描述,错误的是()。

A. #include用于包含头文件B. #define用于定义宏C. #ifdef用于条件编译D. #undef用于取消宏定义答案:C10. 在C语言中,用于定义联合体的关键字是()。

A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,用于声明函数的关键字是________。

答案:void2. C语言中,用于定义全局变量的关键字是________。

大学C语言期末考试试卷2008—2009学年c语言期末卷子

大学C语言期末考试试卷2008—2009学年c语言期末卷子

安徽大学2008 -20 09学年第1学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号一. 单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。

答在试卷上不得分。

1.下面程序段执行后,a的值是______。

int a;printf("%d \n", (a=3*5, a*4, a+5) );A)60 B)20 C)15 D)102.下列程序段的输出是______。

int x=023;printf("%d \n", --x );A)19 B)18 C)23 D)223.执行下列语句后,a的值是______。

int a=8;a+=a-=a*a;A)-240 B)64 C)112 D)-1124.执行下列语句后,输出的值是______。

int x=6;printf("%d,%d,%d\n",x,x++,--x);A)5,5,5 B)6,5,5 C)7,6,5 D)5,6,55.指出下列程序段所表示的逻辑关系是______。

if(a<b){if(c==d)x=1;}elsex=2;A)若a<b且c=d,则x=1;若a>=b且c!=d,则x=2。

B)若a<b且c=d,则x=1;若a>=b,则x=2。

C)若a<b且c=d,则x=1;若a<b且c!=d,则x=2。

D)若a<b且c=d,则x=1;若c!=d,则x=2。

6.下列程序段的执行结果是______。

int i,x;for(i=1,x=1;i<=20;i++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;} printf("%d,%d\n",x,i);A)6,4 B)7,5 C)10,6 D)14,77.下列程序的执行结果是______。

2009年春08级c期末试卷b卷参考答案

2009年春08级c期末试卷b卷参考答案

2009年08级C程序设计期末考试B卷参考答案姓名___________学号___________班级____________得分___________ [注意] 所有答案写在单张的答题卷上。

一、判断题(正确的答A,错误的答B,本题共10分,每小题1分)二、单选题(本题共20分,每小题2分)三、程序填空题(本题共30分,每小题2分)四、 程序阅读题(本题共20分,每小题5分)五、 程序设计题(本题共20分)(1)6分1. #include <stdio.h> int sum (long number){ int s=0,m;while (number!=0) { m=number%10; s+=m;number=number/10; }return s; }void main() {long number=0;scanf(“%ld ”,&number);printf(“sum(%ld)=%d\n ”,number,sum(number)); }(2)5分int ff(char *str, char ch){ int count=0;while(*str){if(*str==ch) count++; str++; }return count; }(3)9分#include <stdio.h>#include <stdlib.h> void main() {char ch,c,s[80]; int k; FILE *fp;if((fp=fopen("input.txt","r"))==NULL) {printf("error\n"); exit(0); }ch=getchar(); k=0;while(1){ c=fgetc(fp); if(c=='\n'||c==EOF){ s[k]='\0'; k=0;printf("%d\n",ff(s,ch)); if(c==EOF) break; }elses[k++]=c;}fclose(fp);}或k=0;while(!feof(fp)){c=fgetc(fp);if(c!='\n')s[k++]=c;else{s[k]='\0';k=0;printf("%d\n",f(s,ch));}}if(c!='\n'){s[k]='\0';printf("%d\n", ff(s,ch));}。

C语言程序设计 (6)--2008期末考试(笔试试卷答案题解)

C语言程序设计 (6)--2008期末考试(笔试试卷答案题解)

8
3. 计算十个数据的平均值。
#include <stdio.h> void main(void) {
int i, sum=0; float avg; int sc[10], *p=sc;
for (i=0; i<10; i++) {
scanf(“%d”, p);
5
班级:
学号:
姓名:
p++; sum+= *(p-1); //或不修改上面的语句,而将p++;移到原sum += *p;语 句 的 下 面 也 是 正 确 的 } avg = (float)sum/ 10; printf(“avg=%f”, avg); }
#include <stdio.h> main( ) {
int up=9, low=0, mid,found=0, find; int a[10]={1, 5, 6, 9, 11, 17, 25, 34, 38, 41};
scanf("%d", &find); printf("\n"); while (up>=low && !found)
1、 单项选择题:(10 分,每题 2 分)
1.对于一个正常运行和正常退出的 C 程序,以下叙述正确的是

√A)程序是从 main 函数第一条可执行语句开始执行,在 main 函数结束
B)程序的执行总是从程序的第一个函数开始,在 main 函数结束
C)程序的执行总是从 main 函数开始,在最后一个函数中结束
{ mid=(up+low)/2; if(a[mid]==find) { found=1; break; }

C语言期末考试试题及答案

C语言期末考试试题及答案

2008-2009学年第一学期期末考试试卷考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分。

考试结束后请将后页答题卡与试卷分开上交....。

一、单选题(每题2分,共30分)1.以下叙述正确的是 ______ 。

A)C程序的每行只能写一条语句 B)语言本身没有输入输出语句C)在C程序中,注释说明只能位于一条语句的后面D)在多函数的程序中,main函数必须放在其它子函数的定义之前2.以下不正确的常量表示形式是 ______ 。

A) 0.45 B)0XF5 C)‘\85’D) 32.67E-53. 以下不正确的变量名是 ______ 。

A)R&B B) _max C) INT D) SUM34. 以下正确的一组语句是 ________。

A) int x=y=5; B) int n; scanf("%d",&n);int a[n];C) char a,*p; p=&a; D) char s[10]; s="hello";5. 若以下变量均已正确定义和赋值,则正确的语句是 ________。

A) a=b==5; B) y=x%2.0; C) x+y=10; D) n=8=2*4;6.下面各组中与给出的程序段功能不等价的是 ________。

i f(a>0) b=1;else if(a==0) b=0;else b=-1;A)if(a>0) b=1; B)if(a>0) b=1; C)if(a>0) b=1; D)if(a>=0)if(a==0) b=0; else if(a==0) b=0; if(a>0) b=1;if(a<0) b=-1; if(a<0) b=-1; else b=-1; if(a==0) b=0;else b=0; if(a<0) b=-1;7. 运行下面程序段,若输入abc#<CR>,则程序输出是:________。

黄淮学院 2007 —2008 年第二学期计算机科学系《C语言》期终试卷(A)答案

黄淮学院 2007 —2008 年第二学期计算机科学系《C语言》期终试卷(A)答案

2007―2008学年度第二学期期末考试《C语言》(计算机科学系)A卷标准答案如下:1、112、a<c&&b<c3、04、long s=0;s=s+i; 或s+=i;三、程序阅读题(共3个小题,每小题5分,共15分)。

1.22. 8 9 10 3 .7 5四、编程题(说明:编程答案不唯一,以下答案仅供参考)(共5个小题,共45分)1、(总分7分)#include "math.h"main( ) …………………………………………………………………………………1分{float x,y; ……………………………………………………………………………1分printf("input x\n");scanf("%f",&x); ………………………………………………………………………1分if(x<-1) y=2*x+3; ……………………………………………………………………1分else if(x>=-1&&x<=1) y=5*x+10; ………………………………………………1分else y=12*x; ……………………………………………………1分printf("x=%f,y=%f",x,y); ………………………………………………………1分}2、((总分8分))main()…………………………………………………………………………………1分{ int x; ……………………………………………………………………………1分printf("please input a number\n");scanf("%d",&x); …………………………………………………………………1分switch (x) ………………………………………………………………………2分{ case 1: printf("excellent\n");break; …………………………………………0.5分case 2: printf("good\n");break; ………………………………………………0.5分case 3: printf("pass\n");break; ………………………………………………0.5分case 4: printf("fail\n");break; ………………………………………………0.5分default : printf("error\n");……………………………………………………1分}}3、(总分10分)void yz(int n) ……………………………4分(写出void得2分,写出参数n得2分){ int i; ………………………………………………………………………1分for(i=1;i<=n;i++)…………………………………………………………2分I f(n%i==0) printf("%5d",i); ……………………………………………3分return ;}4、(总分8分)main()……………………………………………………………………………1分{int a[3][3]; ……………………………………………………………………1分int i,j; …………………………………………………………………………1分long s; …………………………………………………………………………1分printf("please input 9 number\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]); ………………………………………………1分printf("the array a is \n");for(i=0,s=0;i<3;i++){for(j=0;j<3;j++){printf("%4d",a[i][j]);if(i==j||i+j==2)s=s+a[i][j]; …………………………………………2分}printf("\n");} printf("s=%3d",s); ………………………………………………………1分}5、(总分12分)#define N 8int find(int a[],int n,int x);main()……………………………………………………………………………1分{int a[N],i,x,k; …………………………………………………………………1分printf("input %d number\n",N);for(i=0;i<N;i++)scanf("%d",&a[i]); ……………………………………………………………1分printf("input x\n");scanf("%d",&x); ………………………………………………………………1分k=find(a,N,x); …………………………………………………………………2分if(k==-1) printf("%d can't find\n",x); …………………………………………0.5分else printf("%d in a[%d]",x,k); ………………………………………………0.5分}int find(int a[],int n,int x) ……………………2分(函数返回值0.5分,一个参数0.5分){int i; ……………………………………………………………………………1分for(i=0;i<n;i++)if(a[i]==x) return i; ………………………………………………………1分if(i==n) return -1; ……………………………………………………………1分}。

二级C语言机试真题2008年04月

二级C语言机试真题2008年04月

[真题] 二级C语言机试真题2008年04月一、填空题第1题:下列给定的程序中,函数fun(、)的功能是:求出以下分数序列的前n项和。

2/1,3/2,5/3,8/5,13/8,21/13,…其值通过函数值返回main(、)函数。

例如,若输入n=5,则应输出8.391667。

[注意] 部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

_____[试题源程序]#include<stdio.h>#include<conio.h>double fun(int n){int a=2, b=1, c, k;double (1) ;for(k=1; k<=n; k++){s=s+1.0 *a/b;c=a; a+= (2) ; b=c;}return(d);}main(){int n=5;printf("\nThe value of function is: %1f\n", (3) );}参考答案:(1) s=0.0 (2) b (3) fun(n)填空1:根据题目的意思,这里应该是对变量s的声明,注意到后面有对s 的累加操作,所以声明之后一定要进行初始化,把s赋值为0。

填空2:根据题目的意思,此处是循环求和,由数列很容易看出后一项的分子是前一项分母与分子之和,即a=a+b或者a+=b。

填空3:由算法可以看出,此处是进行子函数调用。

二、改错题第2题:下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。

请改正程序中的错误,使它能得到正确结果。

_______[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。

[试题源程序]#include<stdio.h>#define N 20void fun(int a[], int n){int i, j, t, p;for(j=0; j<n-1; j++){/***********found***********/p=jfor(i=j; i<n; i++)if(a[i]<a[p])/***********found***********/p=j;t=a[P];a[p]=a[j];a[j]=t;}}msin(){int a [N]=(9, 6, 8, 3, -1), i, m=5;printf("排序前的数据:”);for(i=0; i<m; i++)printf("%d", a[i]);printf("\n");fun(a, m);printf("排序后的数据:");for(i=0; i<m; i++)printf("%d", a[i]);printf("\n");}参考答案:(1)错误:p=j 正确:p=; (2)错误:p=j; 正确:p=i;题中提到按“从小到大”的顺序排序,这类题目都可以用选择排序法,即从后N个比较过程中,选择一个最小的与第一个元素交换,以此类推,即用第二个元素与后N-1个进行比较,并进行交换。

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、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA(2)下列叙述中正确的是。

A、循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B、循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C、循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D、循环队列中元素个数是由队头指针和队尾指针共同决定的。

(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是:。

A、O(n)B、O(n2)C、O(log2n)D、O(nlog2n)(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)在数据管理技术发展的三个阶段中,数据共享最好的是:。

A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同(10)由三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算是。

2008年C++期末试卷-A卷试题及答案

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进行初始化。

2009年春08级c期末试卷a卷

2009年春08级c期末试卷a卷

2009年08级C程序设计期末考试卷(A)[注意] 所有答案写在单张的答题卷上。

一、判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。

)(1) C语言的标识符由字母、数字和下划线组成,其中第一个字符必须是字母。

B第一个字母必须是字母或下划线(2) C语言的变量在使用前都必须先定义,定义变量时要指定变量名和数据类型。

A(3) 如果a=1,b=2,c=3则表达式a=b==c的值等于3。

B 这个好像是先判断b和c是否相等,然后在决定结果是0还是1(4) 在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。

B不是函数而是顺序(5) 在C语言中,提供了3种循环语句:for、while、do-while。

A(6) 如果定义了int a[20],那么使用语句a[20]=10可以给数组元素a[10]初始化。

B对一维数组的初始化在书本122页有详细的介绍(7) 用关键字static声明的变量是全局变量,在整个程序的全部执行过程中都占用存储单元。

B对全局变量在书86页讲的很详细,在这里题目可能是把全局变量,局部变量与静态,动态的知识混淆了(8) 如果a=1,b=2,c=3,d=4则表达式a>b?c:d的值等于3。

B本题的结果应该是4,对这种条件表达式的内容在书113有详细的介绍(9) 如果a=15,那么执行a=a>>2以后,a的值就变成了3。

A对这种位移运算在书116页,有详细的介绍(10) Struct是定义结构类型的关键字,struct和它后面的结构名一起组成一个新的数据类型。

A对结构的内容在书本176页二、单选题(本题共20分,每小题2分)(11) 假设定义变量如下:int x;float y;以下输入语句中____C____是正确的。

[A]scanf(“%f%f”,&y,&x); [B] scanf(“%f%d”, y, x);[C] scanf(“%f%d”,&y,&x);[D]scanf(“%5.2f%2d”,&y,&x);在书本23页有相关的内容(12) 假设有以下定义:int a[5]={1,2,3,4,5},i=3,*p=a , *q=a; 则不能正确执行的语句是_B_______。

08C语言程序设计 期末考试试卷(A)

08C语言程序设计 期末考试试卷(A)
16、以下程序的输出结果是( )
main( ) { int m=5; if (m++>5 ) printf(“%d\n”, m); else printf (“%d\n”, m- -);}
A、7 B、6 C、5 D、4
17、若定义int k ; 则以下循环执行次数是( )
13、若有定义: int a[8]; 则以下表达式中不能代表数组元素a[1]地址的是( )
A、&a[0]+1 B、&a[1] C、a[1] D、a+1
14、设有如下for循环,则该循环体执行的次数是( )
for(m=1; m<=10; m+=2) printf(“%d ”,m);
main( )
{
float a, b, c;
scanf(“%f,%f”,&a,&b);
c=add(a, b);
printf(“sum is %f”,c);}
float add(float x, float y)
{ float z;
z=x+y;
{ int m[3 ][3]={1,4,7,2,5,8,3,6,9} , i , k=2;
for (i=0; i<3;i++)
printf(“%d ”, m[k][i] ) ; } 结果:__________________
五、程序填空(每空2分,共20分)
计算机系计算机教育专业2008级
C语言程序设计 期末考试试卷(A)
2009—2010学年 第一学期 闭卷+开卷 120分钟
题 号 一 二 三 四 五 六 总 分

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

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

全国计算机等级考试二级C语言机试真题2008年9月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。

若找到,则返回其下标值;反之,则返回“Not be found!”。

折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。

如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中,直到low>high,查找结束。

[注意] 部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

[试题源程序]#include <stdio.h>#define N 10int fun(int a[],int m)int low=0, high=N-1, mid;while(low<=high)mid= (1) ;if(m<a[mid])high= (2) ;eiseif(m>a[mid])low=mid+1;elsereturn(mid);(3) (-1);main()int i, a[N]=(-3, 4, 7, 9, 13, 24, 67, 89, 100, 180), k, m;printf("a数组中的数据如下: ");for(i=0; i<N; i++);printf("%d", a[i]);printf("Enter m: ");scanf("%d", &m);k=fun(a, m);if(k>=0)printf("m=%d, index=%d/n", m, k));elseprintf("Not be found/n");(分数:30.00)填空项1:__________________ (正确答案:[1] (low+high)/2[2] mid-1[3] return)解析:[解析] 填空1:根据题目的意思,这里应该是确定折半查找的中间位置,所以很明显应该填(low+high)/2。

2007-2008C语言程序设计期末试卷及参考答案

2007-2008C语言程序设计期末试卷及参考答案

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级信息类C语言程序设计期末试题A卷

北京理工大学2008级信息类C语言程序设计期末试题A卷

2008级信息类C语言程序设计期末试题A卷一、单项选择题(共20分,每题2分)1、一个C程序的执行是从。

A、main( )函数开始,直到main( )函数结束。

B、第一个函数开始,最后一个函数结束。

C、第一个语句开始,最后一个语句结束。

D、main( )函数开始,直到最后一个函数。

2、表示关系12<=x<=y的C语言表达式为。

A、( 12 <= x ) & ( x <= y )B、( 12 <= x ) && ( x <= y )C、( 12 <= x) | ( x <= y )D、( 12 <= x ) || ( x <= y )3、已知:int a[4][10],当“0 <= i < 4, 0 <= j < 10”时,对数组元素a[i][j]的引用错误是。

A、*( &a[0][0] + 10 * i + j )B、*( a + i )[j]C、*( *( a + i ) + j )D、*( a[i] + j )4、设有如下定义: char *aa[2] = { "abcd", "efgh" }; 则以下说法中正确的是。

A、aa数组元素的值分别是"abcd"和"efgh"。

B、aa是指针变量,它指向含有两个数组元素的字符型一维数组。

C、aa数组的两个元素分别是一个字符串的首地址。

D、aa数组的两个元素中各自存放了字符’a’和’e’的地址。

5、以下循环语句可以正确终止的是。

A、int i = 100;B、for( ;;);while( 1 ){ i = i++ % 100;if( i > 100 )break;}C、int k = 32764;D、int s = 32764;do while( ( s++ % 2) || ( s % 2 ) ){ k++;k++;s++;}while( k > 0 );6、sizeof ( float )是。

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

安徽大学2008----2009学年第二学期C语言程序设计期末机考试题一、单项选择题(30分,每题2分)每小题的四个选项中只有一个符合题目要求,请将正确选项前字母填在括号中。

1.若int a[][3]={1,2,3,4,5,6};则a[1][0]的值是【______】。

AA. 4B. 2C. 1D. 52.执行下列程序段后,变量k的值是【______】。

Aint k=3, s[2];s[0]=k;k = s[1]*10;A)不确定B)0C)10 D)303.执行下列程序段后,变量k的值是【______】。

Cint k=3, s[2]={1};s[0]=k;k = s[1]+10;A)不确定B)0C)10 D)304.下面程序的输出结果是【______】。

C#include <stdio.h>void main(void){int i, a[10];for(i=9;i>=0; i--)a[i]=10-i;printf("%d%d%d\n",a[2],a[5],a[8]);}A)258 B)741C)852 D)3695.下面程序的输出结果是【______】。

B#include <stdio.h>void main(void){int a[3][3]={1,2,3,4,5,6,7,8,9},i;for(i=0;i<3; i++)printf("%d ",a[i][2-i]);}A)1 5 9 B)3 5 7C)1 4 7 D)3 6 96.下面程序的输出结果是【______】。

C#include "stdio.h"void fun(int a[]){int i;for(j=0;j<5; j++)a[j]=j;}void main(void){int num[]={5,6,7,8,9}, i;fun(num);for(i=0;i<5; i++)printf("%d ", num[i]);}A. 56789B. 98765C. 01234D. 432107.下面程序的输出结果是【______】。

D#include "stdio.h"void main(void){char c1[]="ABCD",c2[5];int i;for(i=0;i<4;i++)c2[i]=(c1[i]-'A'-3+26)%26+'a';c2[4]='\0';puts(c2);}A. abcdB. ABCDC. XYZAD. xyza8.下面程序的输出结果是【______】。

A#include <stdio.h>void main(void){int n=6, *p=&n;*p=8;printf("%d\n",n);}A. 8B. 6C. 7D. 不确定9.下面程序的输出结果是【______】。

B#include <stdio.h>void main(void){int a=3, b=6, c=9;int *pa=&a, *pa=&b, *p;*(p=&c)=*pa*(*pb);printf("%d\n",c);}A. 8B. 18C. 27D. 910.下面程序的输出结果是【______】。

C#include <stdio.h>void main( void ){char a[]={0,1,2,3,4,5,6,7,8,9}, *p=a;printf("%d, %d\n", *p+3, *(p+6));、}A. 2,2B. 3,5C. 3,6D. 3,711.下面程序的输出结果是【______】。

C#include <stdio.h>void main( void ){short a[]={1,3,5,7,9}, *p, **k;p=a;k=&p;printf("%d, ", *(p++));printf("%d, ", * *k);}A. 2,2,B. 3,5,C. 1,3,D. 1,312.下面程序的输出结果是【______】。

D#include <stdio.h>void main( void ){int a[]={2,4,6,8,10};int *p=&a[4];printf("%d, \n", *--p);}A. 10B. 9C. 7D. 813.“strlen("\\141\141abc\t")”的返回值是【______】。

AA. 9B. 12C. 13D. 1414.若char s[10]; s="abcd";printf("%s",s);程序的输出结果是【______】。

DA. abcdB. aC. dcbaD. 编译错误15.下面函数中能正确交换x和y中的值,且返回交换结果的是【______】。

DA. fun(int *x,int *y) {int *p; *p=*x;*x=*y;*y=*p}B. fun(int x,int y) {int t;t=x;x=y;y=t; }C.fun(int *x,int *y) {*x=*y;*y=*x; }D.fun(int *x,int *y) { int p; p=*x;*x=*y;*y=p;}二、填充题(30分,每空2分)1.C程序可以分为三种基本结构,即_______顺序结构、选择结构、循环结构。

2.C语言中的_______continue语句提前结束本次循环,跳过循环体中位于该语句后的所有语句,进入下一轮循环。

3.数组中的元素类型_______相同,并由数组名和下标唯一地确定。

4.定义int a[2][4];,数组a中可以容纳___8___个整数。

5.设整型变量m和n的值均为6,则执行语句do m++;while (--n>0)后,变量m的值是____12___。

6.若char s[]="123456",*p=s+1;则表达式“*p+1”值对应的字符是____3___。

7.设字符型变量m的值为'm',执行语句if (m>='a'&&m<='z') m-=32;后,变量m中的字符是______ M ______。

8.设整型变量k的值为0,则循环语句“while (k++<9) k++;”的循环体一共执行___5____次。

9.若char s[10]="ABCD\0\t",则字符型数组s中存放的字符串长度是___4_____。

10.若int a[][3]={{1,2,3},{4,5,6}},(*p)[3]=a;则表达式*(*p+1)的值是___2___。

11.C语言在判断一个量是否为“真”时,以___非0____代表“真”,以0代表“假”。

12.C语言中只能用于循环和switch~case结构的语句是___ break ___。

13.C语言中通过#__define____命令可以定义符号常量。

14.对于数组x[5][5],*(x+2)+3表示____&x[2][3]______。

15.对于数组x[5][5],*(x[3]+2)表示____ x[3][2]______。

三、程序设计题(40分,每空2分)1.用C语言编程求百元买百鸡问题:用一百元钱买一百只鸡。

已知公鸡5元/只,母鸡3元/只,小鸡1元/3只。

问公鸡、母鸡、小鸡各买多少只?#include <stdio.h>void main( void ){int x, y, z;for (x=__0 _____;x<=100;x++)for (y=0; __ y _____<=100;y++){z=__100_____-x-y;if (5*x+__3_____*y+z/__3_____==100 )printf(“cocks=%d,hens=%d,chickens=%d\n",x,y,z);}}2.用C语言编写一个函数,将指定的自然数分解成质因子的连乘积,例如:88=2*2*2*11。

void fun( int n ){int i;printf("%d=",n);for(i=___2____; i<=n; i++)while(n!= __ i _____){if(n%i==__0_____){printf("%d*",i);n=n/___ i ____;}else__ break _____;}printf("%d",n);}3.用C语言编写一个函数atoi,将一个整数字符串转换成一个整数,"512"==>512。

__ int _____ atoi( char str[] ){int value=___0____, i=0;while(str[i]!= '___\0____'){value = value *__10_____+str[i]- '0';i_++______;}}4.用C语言编写一个函数对指定的4×4矩阵查找最大值所在的行列号。

#include <stdio.h>void maxval(double num[4][4]){int i,j,max,row=0, _ col=0______;max=_ num[0][0]______;for(i=0;i<4;i++)for(j=1;j<4;j++)if(max<num[i][j]){max =__ num[i][j]_____;row =___ i ____;col =___ j ____;}printf("The max one is num[%d][%d]=%lf:\n",row,col,max); }。

相关文档
最新文档