浙大C程序设计期末试卷-c_2004A

合集下载

04年夏C语言程序设计期末考试A卷标准答案

04年夏C语言程序设计期末考试A卷标准答案

师范学院教育技术学专业2003 级姓名学号2003—2004学年度第二学期使用教材《C程序设计》修读性质必修期末考试分数占总分数的百分比60% 考试方法闭卷笔试考试时间04.6.30 讲授总学时64 学分 4 任课教师于茂春职称助教命题人教研室主任系主任密封线题号一二三四五六七八九十总分核分人题分分分分分分分得分得分一、填空题(每空1分,共10分)1.结构化程序由、、三种基本结构组成。

2.一个C程序总是从函数开始执行。

3.十进制数27,转化为八进制数为转化为十六进制数为。

4.逐个字符输入输出,用格式符,将整个字符串一次输入或输出,用格式符。

5.为表示关系x≥y≥z,应使用的C语言表达式是。

6.从存储类别来讲,函数中的形参和在函数中定义的变量都属于变量。

得分二、单项选择题。

(每题1分,共10分)1.以下叙述中正确的是()A) 构成C程序的基本单位是函数。

B)可以在一个函数中定义另一个函数。

C)main函数必须放在其它函数之前。

D)所有被调用的函数一定要在调用之前进行定义。

2.以下选项中合法的用户标识符是()A)int B) _a12 C) 12w D) stu#83.已定义c为字符型变量,则下列语句中正确的是( )A)c='97'; B)c="97"; C)c=97; D)c="a";4.已知i, j, k 为int 型变量,若从键盘输入20;19;10<CR> (<CR>代表enter),使i的值为20,j的值为19,k的值为10,以下选项中正确的输入语句为()A) scanf("%d;%d;%d",&i,&j,&k); B)scanf("%2d%2d%2d",&i,&j,&k);C) scanf(""%d ;%d ;%d",i, j, k);D) scanf("i=%d,j=%d,k=%d",&i,&j,&k);5.以下程序,执行后的输出结果是()main( ){ int k=4,i=3,m;m=(k+=i*=k); printf(“%d,%d\n”,m,i);}A) 20,16 B) 20,15 C) 28,12 D)16,126.以下函数的类型是()fff ( float x ){ printf(“%d\n”,x*x);}A) float 类型B) void 类型C) int 类型D)无法确定7.以下程序中NUM的值是()A) 5 B)6 C)8 D)9#define N 2#define M N+1#define NUM (M+1)*M/2main( ){ int i;for(i=1;i<=NUM;i++); printf(“%d”,i); }8.以下程序段执行后s的值为()for(n=10;n<20;n++){if(n%4==0) continue; s=s+1;}A) 3 B)5 C)8 D) 99.以下程序的输出结果是()main( ) {int x=20,y=22,t=30;if(x>=y) t=x; x=y; y=t;师范学院教育技术学专业2003 级姓名学号2003—2004学年度第二学期使用教材《C程序设计》修读性质必修期末考试分数占总分数的百分比60% 考试方法闭卷笔试考试时间04.6.30 讲授总学时64 学分 4 任课教师于茂春职称助教命题人教研室主任系主任密封线printf(“%d,%d\n”,x,y);}A) 20,22 B) 22,20 C) 20,30 D) 22,3010.设有如下定义struct aa{ char name[10];int age;char sex;}std[3],*p=std;下面各输入语句中错误的是( )A) scanf("%d",&(*p).age); B) scanf("%s",&);C) scanf("%c",&std[0].sex) D) scanf("%c",&(p->sex));得分三、写出程序或程序段的执行结果,将答案直接写在横线上。

浙大c期末考试题及答案

浙大c期末考试题及答案

浙大c期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. C语言中,哪个关键字用于声明一个整型变量?A. intB. floatC. doubleD. char答案:A3. 以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello, World!";B. string str = "Hello, World!";C. char* str = "Hello, World!";D. string str[] = "Hello, World!";答案:A4. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B6. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. square_root()C. root()D. pow()答案:A7. 以下哪个选项是C语言中正确的函数声明?A. int add(int a, int b);B. int add(a, b);C. int add(int a, b);D. int add(a, int b);答案:A8. 在C语言中,哪个关键字用于创建一个循环,直到满足某个条件?B. whileC. do-whileD. foreach答案:B9. 以下哪个选项是C语言中合法的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个宏。

浙江大学“C程序设计及实验”试题卷

浙江大学“C程序设计及实验”试题卷

浙江大学“C程序设计及实验”试题卷2003-2004学年春季学期考试时间: 2004年6月25日上午8:30-10:30注意:答题内容必须写在答题卷上,写在本试题卷上无效一.单项选择题(每题1分,共10分)1. C 语言程序的三种基本结构是顺序结构、选择结构和__C____结构。

A.递归B.转移C.循环D.嵌套2. 下列运算符中,优先级最高的是__B___。

A.+= B.[ ] C.? : D.&3. 运算符___A__ 不能做为单目运算符。

A./ B.& C.* D.+4. 以下选项中不正确的字符常量是___C__。

A.'1' B.'\0' C.'%d' D.105. 表达式x&&1 等价于_C____。

A.x==0B.x==1C.x != 0D.x != 16. 已知字符‘a’ 的ASCII码为97 ,执行下列语句的输出是__A___。

printf ("%c%d", ’b’, ’b’+1 ) ;A.b99B.98c C.9899D.bc7. 在C 语言程序中,在函数内部定义的变量称为__C____。

A.全局变量B.外部变量C.局部变量D.内部变量8. 执行语句printf(" ___D___", "hello"); 将得到出错信息。

A.%u B.%s C.%x D.%f9. 对于以下的变量定义,表达式___D___是不正确的。

struct node {float x, y;} point, *p=&point;A.p->x=2.0 B.(*p).y=3.0 C.point.x=2.0 D.*p->y=3.010. 对于变量定义:int **p[10], p 是一个__B___。

A.指针B.数组C.函数D.数组元素二、填空题(每题2分,共30分)1. 写出计算s(s-a)(s-b)(s-c)的C语言表达式______。

C程序设计期末考试A卷期末试卷(附答案)

C程序设计期末考试A卷期末试卷(附答案)
{
x=x+1;
printf("f2:%d\n",x);
}
int main()
{
x=2;
printf("main:%d\n",x);
f1();
f2();
{
int x=10;
f1();
f2();
}
}
五、程序设计题(本题共20分)
(1)编写程序,输入一个学生成绩,根据成绩输出学生的等级。(8分)
分数段
对应的等级
[A] i=*p +*q;[B] a=i;
[C] *p = *(a+i);[D] i = *p**(q+2);
(13)
以下有关宏定义的叙述,正确的是________。
[A]宏名不具有类型[B]带参数的宏就是一个函数
[C]宏名必须用大写字母表示[D]宏定义和其它C语句,其末尾要加分号
(14)
若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
(17)
以下有关switch语句的正确说法是________。
[A]break语句是语句中必须的一部分
[B]在switch语句中的每一个case都要用break语句
[C]break语句在switch语句中不可以使用
[D]在switch语句中可以根据需要使用或不使用break语句
(18)
以下正确的函数说明是________。
[C]n/=16[D]n%=16
(30)
[A]number[i]!=0[B]number[i]<10
[C]number[i]>0[D]number[i]>=10
(31)

浙江大学“程序设计基础-C”试题卷

浙江大学“程序设计基础-C”试题卷

浙江大学“程序设计基础-C”试题卷一.单项选择题(每题2分,共20分)1.C语言程序的三种基本结构是顺序结构、选择结构和______结构。

A.递归B.转移C.循环D.嵌套2.下列运算符中,优先级最高的是_____。

A.->B.++C.&&D.=3.表达式!(x>0&&y>0)等价于_____。

A.!(x>0)||!(y>0)B.!x>0||!y>0C.!x>0&&!y >0D.!(x>0)&&!(y>0)4.表达式sizeof("\nsum=%d\n")的值是______。

A.8B.9C.10D.115.以下选项中不正确的实型常量是_____。

A.0.23EB.2.3e-1C.1E3.2D.2.3e06.表达式______的值不是1。

A.0?0:1B.5%4C.!EOFD.!NULL7.数组定义为inta[11][11],则数组a有_____个数组元素。

A.12B.144C.100D.1218.对于以下的变量定义,表达式______是不正确的。

structnode{intj,k;}x,*p=&x;A.p->k=2B.(*p).k=2C.x.k=2D.x->k=2 9.不正确的赋值或赋初值的方式是______。

A.charstr[]="string";B.charstr[10];str="stri ng";C.char*p="string";D.char*p;p="string";10.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。

#include<stdio.h>intz;intp(intx){staticinty;return(x+y);}voidmain(){inta,b;printf("%d\n",p(a));……}A.a,bB.a,b,zC.a,b,y,zD.a,b,x,y,z二、填空题(每题2分,共30分)1.设字符型变量ch的值是小写英文字母,将它转换为相应大写字母的表达式是______。

《C语言程序设计》期末考试试卷以及答案提示(共五篇)

《C语言程序设计》期末考试试卷以及答案提示(共五篇)

《C语言程序设计》期末考试试卷以及答案提示(共五篇)第一篇:《C语言程序设计》期末考试试卷以及答案提示一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是 B。

A、C语言简洁、紧凑B、能够编制出功能复杂的程序(任何程序都可以,不算特点)C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是 DA、ABCB、abcC、a_bcD、ab.c(只能是字母,下划线,数字;另外数字不可开头)3、一个C语言程序是由B。

A、一个主程序和若干子程序组成B、函数组成 C、若干过程组成 D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 B A、有零个或多个输入B、有零个或多个输出(有一个或多个输出)C、有穷性D、可行性5、设变数a是整型,f是实型,i是双精度型,则表达式10+…a‟+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类型要转换为高类型)6、在C语言中,char型数据在内存中的存储形式是 D。

A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是B。

#include main(){ int x;float y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由scanf语句可知取三位数值给X)8、若有以下定义int a,b;float x,则正确的赋值语句是B。

A、a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、b=int(x);(右侧要是确切的值)9、以下程序的执行结果是A。

#include { int i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、11,9D、10,9(i是先加一再使用,j是先使用再减一)10、巳知字母A的ASCII码是65,以下程序的执行结果是D。

浙江大学“程序设计基础-C”试题卷 (2)

2000~2001学年“程序设计基础--C”试卷考试时间:2000年6月27日下午2:00-4:00注:请将答案写在答题卷上一、单项选择题(每题2分,共30分)1.______是合法的用户自定义标识符。

A、b-bB、floatC、<fr>D、_isw2.若变量已正确定义并赋值,表达式______不符合C语言语法。

A、a*b/c;B、3.14%2C、2,bD、a/b/c3._____是不正确的字符常量。

A、'\n'B、'1'C、"a"D、'\101'4.在C程序中,用_____表示逻辑值“真”。

A、1B、非0的数C、非1的数D、大于0的数5.______把x、y定义成float类型变量,并赋同一初值3.14。

A、floatx,y=3.14;B、floatx,y=2*3.14;C、floatx=3.14,y=x=3.14;D、floatx=y=3.14;6.若变量已正确定义,表达式______的值不是2。

A、2&3B、1<<1C、a==2D、1^37.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”和______等价。

A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b?0:1;8.设变量定义为“inta,b;”,执行下列语句时,输入_____,则a和b的值都是10。

scanf("a=%d,b=%d",&a,&b);A、1010B、10,10C、a=10b=10D、a=10,b=109.下列程序的输出结果是_____。

fun(inta,intb,intc){c=a*b;}main(){intc;fun(2,3,c);printf(”%d\n”,c);}A、0B、1C、6D、无法确定10.在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。

15系2004-2005学年第二学期c语言期末考题及解答资料

2007-2008 学年第一学期期末班号学号姓名成绩《 C 程序设计》期末考试卷注意事项:1、此卷为闭卷考试,120分钟完成;2、笔试成绩为卷面成绩*0.7。

一、选择题 (20分) 1, 下列运算符中最高优先级的运算符是 DA) && B) % C) -= D)!2, 对定义语句int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i=5;数组元素地址的正确表示是DA)&(a+1) B)a++ C)&p D)&p[i]3, 以下结构定义,请指出不正确赋值语句是struct date{int month;int day;int year;};struct student{int num;char name[20];char sex;struct date birthday;float score;char addr[30];}stu1,stu2;A) stu1.num=10; B) stu1.score+=stu2.score;C) stu1=stu2; D) stu1.birthday.month=12;4,以下程序:#include <stdio.h>void main(){FILE *fp;fp=fopen(“f1.txt”,”w”);fprintf(fp,”abc”);fclose(fp);}若文本文件f1 .txt中原有内容为good,则运行以下程序后文件f1.txt中的内容为AA) abc B)abcd C) goodabc D) abcgood5,以下程序的运行结果是int f(int i){static int n=1;return n=n*i;}int main(){int i;for (i=1;i<5;i++) printf(“%3d”,f(i));printf(“\n”);} BA)1 2 3 4 B)1 2 6 24 C)1 2 4 6 D)1 3 6 24二、填空题 (30分)1, 若有定义double x; (5分)(1)使指针p可以指向变量x的定义语句是______double *p;___________(2)使指针p指向变量x的赋值语句是________p=&x;________(3)通过指针p给变量x读入值的scanf函数调用语句是____scanf(“%lf”,p);____________(4)通过指针p给变量x赋值语句是______*p=1.0;_____________(5) 通过指针p输出x的值的语句是_______printf(“%lf”,*p);____________ 2,以下函数用以求x的y次方。

2004级C++面向对象程序设计试题A参考答案

第 4页 共 4 页
{ hitpoint-=harm; if(hitpoint<0) hitpoint=0; } int GetHP() const {return hitpoint;} int GetDemage() const {return demage;} int GetDefense() const {return defense;} protected: int hitpoint; int demage; int defense; }; bool Monster::fight(Monster & other) { while(true) { attack(other); if(other.GetHP()<=0) return true; other.attack(*this); if(hitpoint<=0) return false; } }
一、单选题(共 10 分,每题 1 分) 1. 已知 f1 和 f2 是同一类中的两个成员函数,若 f1 的实现代码体内不能调用 f2,则最可能 的情况是: (本题有点问题,D 的情况也可能出现,如 f1 是常成员函数,而 f2 不是) (A) f1 和 f2 都是静态函数 (B) f1 是静态的,f2 不是 (C) f1 不是静态的,f2 是静态的 (D) f1 和 f2 都不是静态函数 2. 一个对象所占的内存空间中可以保存下面哪类数据? (A) 静态数据成员 (B) 内联函数代码 (C) 所有成员函数的入口地址 (D) 虚函数表的入口地址 3.下面关于 new 和 delete 操作符的说法,哪个是不正确的: (A) 使用 new 操作符,可以动态分配全局堆中的内存资源。 (B) 用 new 申请的数组,必须用 delete[] 释放。 (C) 用 new 申请的空间,即使不调用 delete 释放掉,当程序结束时也会自动释放掉。 (D) 执行语句 A * p=new A[100];时,类 A 的构造函数会被调用 100 次。 4. 下列哪种函数可以是虚函数: (A) 自定义的构造函数 (B) 拷贝构造函数 (C) 静态成员函数 (D) 析构函数 5.C++的最小编译单位是: (A) 工程中每个.cpp 和.h 文件 (B) 工程中每个.cpp 文件 (C) 工程中每个.h 文件 (D) 工程中所有文件 6.下面表达式中不可能作为左值(赋值运算符左侧)的是: (A) a=b (B) *p (C) f(a,b) (D) &a 7.在实现函数 A& f(A & obj) 时,下面的哪一个表达式可以出现在 return 语句中? (A) new A( ) (B) obj (C) &obj (D) new A(obj) 8.判断类 A 的两个对象 a1 与 a2 是否是同一个对象的方法是: (A) 利用调试器,查看 a1 与 a2 各成员数据的值是否相等 (B) 重载 == 运算符,用它来判断各成员数据的值是否相等。 (C) 判断这两个对象的地址值是否相等。 (D) 比较创建时使用的构造函数的实参是否相同。 9.已知 obj 是一个对象,下面哪一个表达式是不可能出现的? (A) obj.100 (B) !obj (C) obj++ (D) obj,100

(精校版)C程序设计期末考试习题(含答案)


二、读程序写结果(每题 6 分,共 24 分)
1. 有以下程序
int f(int a)
{ int b=0;
static c=3;
b=b+1;c=c+1;
return(a+b+c);

void main()
{ int a=2,i;
for(i=0;i〈3;i++) printf(“%2d”,f(a));

执行后输出的结果是

2。 有以下程序
void f(int y,int *x)
{ y=y+*x; *x=*x+y;}
void main( )
{ int x=2,y=4;
f(y,&x);
printf(“x=%d,y=%d\n”,x,y);
}
执行后输出的结果是

3。 有以下程序
#define LETTER 1
7。 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 ( ).
A) p=1;
B) *q=2;
C) q=p;
D) *p=5;
8. 设有定义:int a,*pa=&a; 以下 scanf 语句中能正确为变量 a 读入数据的是 ( )。
A) scanf(“%d”,pa) ;
A)字符 B 和字符 P
B) 字符串 FORTD) 字符串 BASIC 和字符串 PASCAL
10。 执行语句 for(i=1;i++〈4;);后变量 i 的值是( ).
A) 3
B)4
C) 5
D) 不定
一、填空题(每空 2 分,共 18 分)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A.3
B.7
C.10
D.11
9. After running the following code fragment, the value of s is ______.
int i=5, s=0;
《C Programming》TEST PAPER, Jan 22, 2005
1/8
do if (i%2) continue; else s+=i; while (--i);
1. The precedence of operator _____ is the lowest one.
A.? :
B.==
C.+=
D.&
2. _____ is correct if it is used as a character constant.
A.’\’
B.'\080'
C.'%d'
D.0xa
1 4 7 10 13 16 19 22 25. 6. According to the declaration: int a[10], *p=&a[1]+2; the last element of array a is p[__]. 7. Write the declaration_____ with typedef, which makes PA a synonym for a character pointer
{
int x = 2; P(x*F(2));
}
{ for (; x < 10; x += 50)
P2(x, 9.15*x+32);
}
《C Programming》TEST PAPER, Jan 22, 2005
4/8
} 5.When input: this is a test.<ENTER>, The output of the following program is _______.
file name f1
contents aaa!
f2
bbb!
f3
ccc!
Compiling the following C source codes, and linking the related object codes, an executable
command file ex12.exe will be produced. To execute the command at DOS prompt: ex12 f1
2.When input: AabD <ENTER>, The output of the following program is _______. #include <stdio.h> void main() { char s[81]; int i=0; gets(s);
《C Programming》TEST PAPER, Jan 22, 2005
x+=k++; return x; } i=f(2); i=f(3); printf(“%d”,i); 15. The following program fragment prints out _____. int f(int x) { return ((x>0)? x*f(x-1):3); } printf(“%d”,f(f(1)));
A.3
B.4
C.0
D.3.667
5. The value of expression sizeof("\num=%d\t") is ______.
A.7
B.8
C.9
D.10
6. In the following assignments or initialization, ______ is wrong.
} while(ch!=’.’);
printf(“\n”); }
int change(char *c,int status)
{ if(*c==’ ‘) return TRUE;
if(status&&*c<=’z’&&*c>=’a’) *c+=’A’-‘a’;
return FALSE; } 6.There are three text files f1,f2 & f3, each of them contains some characters as following:
A.char s[ ]="hello";
B.char s[10]; s="hello";
C.char *p="hello";
D.char *p; p="hello";
7. The following code fragment prints out ______.
#define MA(x, y) (x)*(y)
1. The value of expression 1+4/5+15<7+4%5+(8,10) is ______. 2. The value of expression !!10 is _____. 3. The value of expression 3>2>1 is _____. 4. The value of expression ~(-1<<1) is ______. 5. The statement for (i=1; i<=”, ______);prints out the following numbers:
int i = 2;
i = 3/MA(i, i+2)+5;
printf(“%d\n”, i); A.5
B.8
C.9
D.11
8. static struct {
int x, y[3];
} a[3] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}, *p;
p = a+1;
The value of expression *((int *)(p+1)+2) is ______.
3. According to the declaration: char c1=92,c2=92; the value of expression _____ is 0.
A. c1^c2
B.c1&c2
C.~c2
D.c1|c2
4. According to the declaration: int x=11; the value of expression (x++*1/3) is_____.
f2 f3<ENTER>,the output is:
.
#include <stdio.h>
main(int argc, char *argv[])
{ FILE *fp;
void sub(FILE *);
int i=1; while (--argc>0)
if ((fp=fopen(argv[i++],“r”))==NULL) {
p=x; x=y; y=p; } void main() { int x=1, y=2;
f(&y, &x); printf("%d, %d", x, y);
} 12. The following program prints out _____.
#include <stdio.h> #include <string.h> main() { char st[20]=”hello\0world!”;
《C Programming》TEST PAPER, Jan 22, 2005
2/8
printf(“%d,%d\n”,strlen(st),sizeof(st)); } 13. To execute the command: prog 123 456 ABC, the value of *(++argv[2]) is_____. 14. The following program fragment prints out _____. int i; int f(int x) { static int k = 0;
array, which contains 100 elements. 8. The following code fragment prints out _____.
static int a[3][4]={{1,2,3},{4,5,6}}; printf(“%d”,a[0][5]); 9. The following code fragment prints out _____. char a[]={“678”,”45”},**p=a+1; printf(“%s,%c”,*p,**p-1); 10. The following code fragment prints out _____. int *p, *q, k = 1, j=10 ; p=&j; q = &k ; p = q ; (*p)++; printf("%d",k); 11. The following program prints out _____. #include <stdio.h> void f(int *x,int *y) { int *p;
int x,y,z,w; void p(int x, int *y)
{ int z;
++x; ++*y;
相关文档
最新文档