2008~2009C程序设计1试卷及答案
- 格式:doc
- 大小:104.00 KB
- 文档页数:5
试卷参考答案及评分标准一、三、程序阅读题(每空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;}。
天津工业大学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】。
2009年08级C程序设计期末考试卷(B)[注意] 所有答案写在单张的答题卷上。
一、判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。
)(1) C语言程序的变量必须先定义再使用。
(2) do-while语句构成的循环不能用其他语句构成的循环来代替。
(3) C语言规定,函数的实参应与其对应的形参类型一致。
(4) C语言认为名为Student和student的变量是不同变量。
(5) 当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
(6) C语言程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句。
(7) 在C语言中,八进制数是用英文字母o后加一个整数来表示,例如o123。
(8) C语言的所有循环语句都要求至少要执行一次循环体。
(9) 在C语言中,函数不能嵌套定义,但可以嵌套调用。
(10) 数组char x[]="12345";和char y[]={'1','2','3','4','5'};长度相同。
二、单选题(本题共20分,每小题2分)(11) ______是合法的用户自定义标识符。
[A] b-b[B] <fr>[C] _isw[D] float(12) _____是不正确的字符常量。
[A] '\n' [B] '1'[C] "a"[D] '\101'(13) 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和______等价。
[A] k=(a>b)?1:0; [B] k=a>b;[C] k=a<=b;[D] a<=b ? 0 : 1;(14) 在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
[A] int [B] double[C] void [D] char(15) 如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是________。
C语言程序设计试题(2008 /2009 学年第二学期)一.选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。
A. a=b=c+8;B. a+=y+3;C. c++;D. a+b+c2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。
A. 1B. 2C. –1D. -23.执行下面程序:#include "stdio.h"void main(){int a=1,b=2,c=3;c=(a+=a+2),(a=b,b+3);printf(“%d,%d,%d”,a,b,c);}则输出结果是: A 。
A. 2,2,4B. 4,2,3C. 5,5,3D. 4,2,54.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。
A. a< >0B. !aC. a=0D. a5. for (j=0;j<11;j++);循环结束后,j的值是 B 。
A. 12B. 11C. 10D. 96. C语言中函数返回值的类型由 D 决定的。
A. return语句中的表达式类型B. 调用该函数的主调函数的类型C. 调用函数时临时决定D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。
A 在调用用户自定义函数时,必须对其进行声明。
B 函数可以返回一个值,也可以什么值也不返回。
C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。
switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。
A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'};C. char str[10]; str= "strings";D. char str[]= "strings";10. 有如下程序:#include <stdio.h>void main(){int a=1,b=0,c=0;if (a<b)if (b<0) c=0;else c++;printf (“%d\n”,c);}该程序的运行结果是 D 。
(081)上海大学2008-2009年秋季学期试卷2008.11课程名:程序设计基础(C) 课程号:00863006 学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。
学号: 姓名: 学院/教师:题号 一 二 三 四 卷面 上机总分 题分 21 36 8 12 77 23 100 得分考生须知:1.试卷和答题纸上的”学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3.不遵守上述要求者考试成绩将为零分。
4.本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分之和。
一、基础题(21分,第1小题1分,其它每小题2分) 1.设有定义char a=’c’; 下列语句片段putchar(a); putchar(‘a’); 将输出什么?2.设有定义 float f1; int d1; 执行语句scanf(“%3d%f”, &d1, &f1);时从键盘输入数据串:987653abbb,那么d1和f1的值将是什么?3.定义 int a[5]={199,211}; 写出语句printf(“%d”, a[2]-a[4] ); 执行后的输出结果。
4.设有以下定义:#define tri(a,b,c) a*a+b*b-c*c请写出语句:printf(“ tri=%d”, tri(3,4,5)!=0); 执行后的输出结果。
5.若有以下的四条变量定义及初始化语句,请选出其中正确的定义项:(A) char *p=“222”; (B) char a=‘abc’;(C) char *p=2000; (D) double df=(double)567;6.假设有定义:char *s=”hello,world”,请写出语句printf(“%s”,s+6);执行后的结果。
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)在数据管理技术发展的三个阶段中,数据共享最好的是()。
2009.9(1)下列数据结构中,属于非线性结构的是(C )。
A)循环队列B)带链队C)二叉树D)带链栈(3)对于循环队列,下列叙述中正确的是(D )。
A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(8)数据库管理系统是(B )。
A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统(11)以下叙述中正确的是( D)。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整(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);}程序运行后的输出结果是(B )。
A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2(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);}程序运行后的输出结果是(C )。
A)9,One*World B)9,One*Dream! C)10,One*Dream! D)10,One*World(30)有以下程序# include <stdio.h># include <string.h>main(){ char a[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a));}程序运行后的输出结果是(B )。
一、选择题(每题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 语言中的逻辑运算结果,用( )表示逻辑“真”值。
北京师范大学2007~2008学年第二学期期末考试试卷(A卷)课程名称:程序设计基础(C语言)任课教师姓名:于福生、刘玉铭卷面总分: 100 分考试时长: 100 分钟考试类别:闭卷 开卷□其他□院(系):专业:年级: 2008 姓名:学号:阅卷教师(签字):一.判断题(正确的划√,错误的划×)(每小题 1 分,共 10分)1.结构化程序只能有顺序、选择、和循环3中基本结构组成( )2.使用for语句时位于for后面括号中的3个表达式都可以省略( )3.do-while语句和while语句在任何相同情况下,执行效果都一样( )4.对任一局部变量的初始化,都是函数每调用一次,进行一次( )5.如果函数的形参是多维数组,定义形参数组时必须指定每一维的大小( )6.函数中的所有变量在函数调用结束后,所占内存空间将被释放( )7.变量的声明和定义是等价的( )8.在调用函数时,实参与形参的类型必须保持完全一致( )9.逗号表达式的值是包含于其中的第一个表达式的值( )10.将数据以二进制格式输出到文件,则文件内容与内存中完全一致( )二.单项选择题。
(每小题 2 分,共 40 分)1.下面变量定义合法的是 AA)int _a = 1-.1e-1B)double b = 1+5e0.5 C)long do = 0x8000D)float a&2 = 1.52.字符串常量"abc1\n"在内存中占用的字节数是 C 。
A)4B)5 C)6D)73.设a=13, b=4, c=5, 则表达式!(a+b)+c-1&& b+c/2的值是 C 。
A)-1B)0 C)1D)24.有一个二维数组s[3][4], 元素s[2][3]的正确表示是: AA)*(*(s+2) +3)B)*(s+2) +3 C)s[2,3]D)s[3][2]5.已知:struct aa{int x; char y;} a[10]; 则表达式sizeof(aa)的值是:A/B/C/D 。