哈工大2004秋《C++ 程序设计》考试题-A
C程序设计基础练习题4及答案
一、单选题1、以下数组定义中,错误的是()。
A.inta[3]={‰2,3,4};B.inta[]={l,2,3};C.inta[5]={l z2,3};D.inta[5],b;正确答案:A解析:A、数组长度为3,但赋了4个初值2、设有定义inta[10]={0};则说法正确的是()。
A.数组初始化错误,初值个数少于数组元素个数B.数组a有10个元素,各元素的值为0C.数组a有1个元素,其值为0D.数组a有10个元素,其中a[0]的值为0,其他元素的值不确定正确答案:B解析:B、当定义的同时,给数组赋了初值,但初值个数小于数组长度时,剩余的数组元素全赋为03、执行下面的初始化语句,()保存的不是字符串。
A.charstr[6]={,S, ,r,,,i√n,,,g,};B.charstr[]={'S';t','r,,,i,z,n∖,g,,0};C.charstr[10]={'S',,t',,r',,i√n∖,g,,,∖0,};D.charstr[10]="String";正确答案:A解析:A、Str数组长度为6,6个元素值都不是'0)没有成为字符串B›,∖0,的ASClI码是0,初始化为。
或'∖0'是一样的。
4、设有以下定义,则数组Sl和s2()ocharsl[]={'S'z,t','r'∕i√n','g');chars2[]="String";A.长度不同,但内容相同B.长度相同,内容也相同C.长度相同,但内容不同D.长度不同,内容也不同正确答案:D解析:D、s2比Sl多一个∖0T长度多15、设已定义charstr[6]={,a√b√∖O√c√d√∖O,};执行语句printf(("%s",str)后,输出结果为()。
2004秋省等级考试C++试卷(附答案)(1)
构造函数、析构函数、拷贝构造函数和 3. 设有说明语句: char s[]="123\t456\00089",*p=s; 执行以下两个语句: cout<<*(p+5)<<'\n'; cout<<(p+5)<<'\n'; 则输出分别为 (4) 和 (5) ●阅读程序题,共 13 分 4. [程序] (3 分) #include <iostream.h> void fun(int *a, int *b) { (*a)++; *b++; *a++; (*b)++; cout<<*a<<'\t'<<*b<<endl; }
。
二、填空题 (请将答案填写在答题纸的相应答题号内,每个答案只占一行) ●基本概念题,共 5 分 1.在 C++中,编译预处理包括三个方面的内容,它们分别是包含文件、 (1) 和 (2) 。 2.在类定义中,如果仅定义了数据成员,而没有定义成员函数时,则由系统自动生成的成员函数有缺省
第6页 VC++
; ){
第 12 页
VC++
p2=p1 = h; while (p2->next && p2->num<p->num) { p1 = p2 ; p2=p2->next; } if ( (30) ) { p2->next = p; p->next =0; } else { p->next = p2; p1->next = p; } } } return (h); }
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语言程序设计历年统考试题集10套含答案
C语言程序设计试题集(第1套)请将第一、二、三、四题的答案写在答题页的相应题目的后面(写在别处不得分)。
一、单项选择题(每题2分,共20分)1、以下叙述不正确的是A)C程序由函数构成B) 一个C程序至少包含一个main函数C) main函数可以调用main函数D) main函数是每个程序执行的起始点2、C程序中能直接让机器执行的文件是A)编辑后的.c源文件 B)通过编译的.obj文件C)通过连接的.exe文件 D)编辑后的.bak文件3、假设定义变量如下:int x;float y;以下输入语句中哪个是正确的?A)scanf(“%f%d”,&y,&x); B)scanf(“%f%d”, y, x); C)scanf(“%f%f”,&y,&x); D)scanf(“%d%d”,&y,&x);4、已知:int a[][3]={1,2,3,4,5,6};则数组a的第一维的大小是A)2 B)3 C)4 D)无确定值5、.如果switch表达式是char 变量code,下面哪一个case子句是合法的。
A)case “3”:B) case ‘3’: C)case 3 : D)case =3:6、能正确表示”x的值在[1,10]和[200,210]范围内”的表达式是A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1) || (x<=10) || (x>=200) || (x<=210)C) (x>=1)&&(x<=10) || (x>=200)&&(x<=210)D) (x>=1) || (x<=10)&&(x>=200) || (x<=210)7、C语言中while和do-while 循环的主要区别是A)do-while循环至少无条件执行一次,而while循环可能一次也不执行B)while循环控制条件比do-while循环控制条件严格C)do-while循环允许从外部转到循环体内,而while循环不允许D)do-while的循环体可以是复合语句,而while循环不可以是复合语句 8、下面哪一项函数的头部是有效的?A)one(int a int b)B)int thisone(char x)C)char another(int a,b)D)double yetanother9、若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则A)x数组与y数组的长度相同B)x数组长度大于y的长度C)x 数组长度小于y数组长度 D)x数组等价于y 数组10、二维数组的第一个元素的行下标和列下标是A) 1,1 B)0,1 C)1,0 D) 0,0二、填空题(每空3分,共30分)1、如果a=4, b=3,那么,在执行语句a=b;之后,a、b的值分别是(1)2、语句:if(6>5)printf(“#”);printf(“$”);输出(2)3、for( sum=j=0; j<=10; ++j) sum += j; 循环结束后sum的值等于(3)4、长度为10的int类型数组和长度为3 的double类型数组,哪一个数组占用的内存空间多(4)5、字符数组a)char a[]=“one”;占多少内存字节(5)6、如果ch<‘A’或ch>‘Z’,那么,表达式ch>=‘A’&& ch<=‘Z’的值是(6)7、编写C语句,交换a、b的值(7)8、为了使用库函数getchar(),必须在程序中包含命令(8)9、设int numbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers中的每个元素减去3。
秋季《C语言程序设计》期末考试题A卷答案答案修改后
2005—2006学年第二学期《程序设计语言(C)》试卷参考答案和评分标准专业班级姓名学号开课系室软件工程系考试日期 20XX年7月3日程序设计语言(C)试卷(A卷)答题卡说明:1.选择题和判断题必须填在答题卡上才有效,综述题写在指定位置。
2.本试卷连同封面共13页,不得拆开。
一、单项选择题(正确的答案涂黑或画圈,每题1分,共20分)二、读程序填空题(在空格处填写正确答案,每空2分,共20分)一、单项选择题(每题1分, 20分)1. 现有程序完成a、b两个值的交换,空白处正确的答案应该是 _______。
main(){int a,b,t;t=b ;b=a ;________ ;}A. a=bB. a=tC. b=tD. t=a2.如果程序中用到标准库函数log(),那么该程序应含下面哪条语句_________。
A. #include ”stdio.h”B. #include ”math.h “C. #include ”string.h”D. #include ”stdlib.h”3. int x=6;则下方程序段运行结果是_________。
switch(x){ case 1: printf(“apple“);break;case 2: printf(“hello“);break;case 3: printf(“world “);default: printf(“thank you“);}A. appleB. helloC. thank youD. world thank you4. 在C语言中,不合法的int型常量是_________。
A. 32767B. 0578C. 0XAACD. 32768L5. 设x,y,z和k都是int型变量,则执行表达式:x=(y=2,z=15,k=30)后,x的值为________。
A. 52B. 30C. 15D. 26. 设x为int型变量,则执行以下语句后,x的值为________。
2004秋试题
哈工大2004 年秋季学期高级语言程序设计试题(说明:考试为开卷考试,卷面总分70分,平时成绩30分)一、多项选择题(共10分,每小题2分,选择了所有正确选项得2分,选择了部分正确选项得1分,选择了一个及一个以上的错误选项得0分)(1)“Father of C Programming Language”是:()A. ThompsonB. RitchieC. KernighanD. Sunner(2)下列说法中正确..的是()A. 一个int类型的变量占两个字节B. 一个结构体变量占的字节数,不一定等于每个成员变量字节数的总和C. 指向double和指向int类型的指针变量所占的字节数是相等的D. 一个long类型变量可能与一个int类型变量占用相同大小的内存(3)下列关于程序的正确性的说法正确..的是()A. 编译通过的程序就是正确的B. 执行结果正确的程序就是正确的C. 目前还无法证明一个程序是正确的D. 以上说法就没有一个正确的(4)下面这些事物中,有.“地址”的是:()A. 变量B. 函数C. 宏D. 指针(5)下面哪条语句是声明而不是定义?()A. int i;B. extern int i;C. int foo(int i);D. static int i;二、写出程序的执行结果(18分)(1)写出下面程序的执行结果。
(2分)#include <stdio.h>main(){printf("%d", (1-(2+8/6)*4%3*1)/2);}(2)写出下面程序的执行结果。
(2分)#include <stdio.h>main(){if (100)printf("Great!\n");else if (60)printf("Pass\n");elseprintf("Fail\n");}(3)写出下面程序的执行结果。
2004秋计算机组成技术试卷A
哈工大 2004 年 秋 季学期计算机组成技术 试 题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
1. ENIAC 所用的主要元件是________。
A. 晶体管;B. 集成电路;C. 电子管,D. 以上各答案都不对。
2. 计算机能直接执行的只有________。
A. 符号语言B. 机器语言C. 机器语言和汇编语言D. 汇编语言3. 下列数中最小的数为_______。
A. (101001)2B. (52)8C. (00101001)BCDD. (233)164. 某机字长32位,采用定点小数表示,符号位为1位,数值位为31位,则原码可表示的最大正小数为______,最小负小数为_______。
A. +(231-1)B. -(1-2-32)C. +(1-2-31)D. -(1-2-31)5. 计算机由算逻单元和控制单元合称为________。
A . CPUB . A LUC . C UD . CAD6. 若某数x 的真值为-0.1010,在计算机中该数表示为1.0110,则该数所用的编码方法是______。
A. 原码B. 补码C. 反码D. 移码7. 在CPU 中跟踪后继指令地址的寄存器是_______。
A. 主存地址寄存器B. 程序计数器C. 指令寄存器D.状态条件寄存器8.指令周期是指_______。
A.CPU从主存中取出一条指令的时间B.CPU执行一条指令的时间C.CPU从主存取出一条指令加上执行这条指令的时间D.时钟周期时间9.半导体静态存储器SRAM的存储原理是_______。
A.依靠双稳态电路B.依靠定时刷新C.依靠读后再生D.信息不再变化10.存储周期是指______。
A.存储器的读出时间B.存储器的写入时间C.存储器进行连续读和写操作所允许的最短时间间隔D.存储器进行连续写操作所允许的最短时间间隔11.主存储器和CPU之间Cache的目的是_______。
哈工大2003秋《C++ 程序设计》考试题-A
哈工大 2003 年 秋 季学期《C++程序设计》试题(A一、 选择填空题(共16分,每空一分)。
1. 面向对象的程序设计方法(可用各种语言实现,如C++、Java 等)具有三大特性,他们分别是 , , 。
2. 已知m = 3, 执行m++;后,表达式的值是 ,m 的值是 ,执行++m ;后,表达式的值是 ,m 的值是 。
3. 已知m = 4, n = 5,则执行语句m > n ? m++ : n++;后,表达式的值是 。
4. 循环语句while(int i = 0) { i--; } 执行的循环次数是 次;语句for(int i(0), j(10); i = j = 10; i++, j--) { ; } 执行的循环次数是 次。
5. 外部静态类变量的作用域是 级的,定义时必须 加说明符。
6. 请阅读下面这段描述,并回答后面的问题:(4分)All nonstatic member functions can use the this keyword, which is a const (nonmodifiable)pointer to the object for which the function was called. Member data is addressed by evaluating the expression this –>member-name (although this technique is seldom used). In member functions, using a member name in an expression implicitly uses this –>member-name to select the correct function or data member. 问题:(1)在静态成员函数中是否可以使用this 关键字?为什么?(2)是否可以将某个对象的地址值赋给this 关键字?为什么呢?二、 请分析下列程序,并回答问题(共40分)。
2004年黑龙江省高职考试c语言试卷
2004年⿊龙江省⾼职考试c语⾔试卷2004年⿊龙江省⾼职考试试卷(本试卷满分300分,考试时间150分钟)专业I:C语⾔编程基础部分⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题的括号内。
错选、多选或未选均⽆分。
1、以下说法正确的是()A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,被调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main()函数开始执⾏。
D、C语⾔程序中的main( )函数必须放在程序的开始部分2、在C语⾔中,不正确的⾃定义标识符是()A、xyzB、INTC、x3dD、unsigned3、在C语⾔中,若有以下定义:int a; float f; char c;则表达式a+f*c的值的类型为()A、charB、doubleC、floatD、int4、以下C语⾔程序的输出结果是()main(){int x=3,y=2,z=0;printf("%d",x/y&&!z);}A、3B、2C、1D、05、在C语⾔中,运算对象必须是整型数的运算符是()A、%B、/C、%和/6、在C语⾔中,下列函数中经常与getchar()组合起来使⽤的函数是()A、scanf()B、strcpy()C、puts()D、putchar()7、以下C 语⾔程序的输出结果是()main(){int x=10,y=3;printf("%d",x/y);}A、0B、3.33C、3D、不确定8、以下C语⾔程序的输出结果是()main(){int k=17;printf("%d,%o,%x",k,k,k); } A、17,021,0x11 B、17,17,17C、17,0x11,021 D、17,21,119、C语⾔⾃定义函数的返回值的类型是由()决定的。
C程序设计第四版习题完整版答案【排版整洁】
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
哈工大c语言 练习题
求用户输入的两个数的商,程序运行时,以如下格式输入数据:Input two integers:4 2↙请改正程序中的错误,使它能得出正确的结果。
#include <>main(){int a, b, c;printf("Input two integers:");scanf("%d,%d", &a, &b);c = a\b;printf("The quotient of a and b is :%d", c);}# include <>int main (){int a,b,c;printf ("Input two integers:");scanf ("%d %d",&a,&b);c=a/b;printf ("The quotient of a and b is :%d\n",c);return 0;}使用const常量定义圆周率pi=,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。
输出的数据保留两位小数点。
输入格式要求:"%lf"提示信息:"Input r:"输出格式要求:"printf WITHOUT width or precision specifications:\n""circumference = %f, area = %f\n""printf WITH width and precision specifications:\n""circumference = %, area = %\n"程序运行示例如下:Input r:printf WITHOUT width or precision specifications:circumference = , area =printf WITH width and precision specifications:circumference = , area =#include <>int main(){const double PI=;double r;printf("Input r:");scanf("%lf", &r);printf("printf WITHOUT width or precision specifications:\n");printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r);printf("printf WITH width and precision specifications:\n");printf("circumference = %, area = %\n",2*PI*r,PI*r*r);return 0;}写一个程序,将接收的华氏温度转换为对应的摄氏温度。
C语言程序设计-A卷
哈尔滨工业大学〔威海〕2007/2021学年秋季学期C 语言程序设计 笔试试题〔A 卷〕题号 一二三四五六笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷反面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
〔此题16分,每题2分〕题号 1 2 3 4 5 6 7 8 答案1. 以下选项中合法的C 语言用户标识符是( )。
2. 有以下程序main() {int a=0, b=0, c=0, d=0; if(a=2) b=2; c=4; else d=3;printf("%d,%d,%d,%d\n",a,b,c,d); }那么程序输出( )。
A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0D) 编译有错号学名姓注意行为标准 遵守考试纪律3.用语句scanf(“%c%c%c〞,&c1,&c2,&c3);输入〞a,b,c〞时,变量c1、c2、c3的值分别为( )。
A) ‘a′,′b′,′c′B) ′a′,′b′,′′C) ′a′,′,′,′b′ D) ′a′,′′,′c′4.有以下程序段main( ){int k=0;while(k=1) k++;}那么while循环执行的次数是( )。
A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5.有以下程序:#include <stdio.h>#include <string.h>main(){char *p=〞abc\101\0fghijk\0〞;printf(“%d〞,strlen(p));}执行后的输出结果为( )。
A) 6 B) 4 C) 12 D) 146.设有说明语句:int a=1, b=2, c=3, d=4, m=2, n=2;那么执行(m=a>b)&& (n=c>d)后n的值为( )。
C语言程序设计期末笔试试卷及答案
哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间105分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 下面程序的输出是______。
main(){ int x=10,y=3;printf("%d\n",y=x/y); }A) 0 B) 1 C) 3 D) 不确定的值 2. 下列函数的功能是______。
int fun1(char *x) { char *y = x; while(*y++); return(y-x-1); }A) 求字符串的长度 B) 将字符串X 连接到字符串Y 后面 C) 将字符串X 复制到字符串Y D) 比较两个字符串的大小号学名姓注意行为规范 遵守考试纪律3.以下对C语言函数的有关描述中,正确的是______。
A) C程序中有调用关系的所有函数必须放在同一个源程序文件中B) C函数既可以嵌套定义又可以递归调用C) 调用函数时,实参的值传送给形参D) 函数必须有返回值4.若用数组名作为函数调用的实参,传递给形参的是______。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数5.若有以下定义,则p+5表示_______.int a[10],*p=a;A) 元素a[5]的地址B) 元素a[5]的值C) 元素a[6]的地址D) 元素a[6]的值6.以下选项中,与k=n++完全等价的表达式是_______。
2004年C语言考题(A卷)
北京航空航天大学自动化学院试卷(共7页)2004 ~ 2005学年第 1 学期班级:学号:姓名: . 考试科目: C语言程序设计(A卷)成绩:分说明:1、本试卷满分为100分。
2、闭卷考试,试卷不得拆开,不允许自带草稿纸。
3、填空题与选择题答案直接写在试卷上,做在草稿纸上无效。
一.填空题: (每空1分,共10分)1、一个C程序是由若干函数构成的,其中必须有一个函数。
2、表达式1 +2/3 + 4%5 + (6>7) +(8, 9)的值是。
3、执行printf(“%d,%d”,(i=j,++i),(j=5,j++)); 输出结果为。
4、判断变量c中是数字字符的逻辑表达式是。
5、设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c 为char型变量,则表达式c+*+//的结果类型为。
x+yybxa6、若有说明int x=10,y=20;,请写出printf(“%3x\n”, (x%y, x-y, x+y))语句对应的输出结果是。
7、设int j = 10; 执行j + = j*j; 后j的值是。
8、设float (*pf) ( ), *qf( );pf与qf的意义分别是和。
9、设宏定义 #define D(x) x/x则引用D(2+3)后的值是。
二.单项选择题 : (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。
每小题1分,共10分)1.以下正确的 C语言标识符是:()(A) %x (B) a+b (C) a123 (D) test!2.下列运算符中优先级最低的是()(A) ++(B) ( ) (C) →(D) +=3.设int i=0,j=1,k=2,a=3,b=4,c=5;执行表达式(a=i<j)&&(b=j<k)&&(c=i,j,k)后,a,b,c的值分别是()(A) 1,1,5 (B) 1,0,2(C) 3,4,5 (D) 1,1,04.设int a=1,b; 执行下列switch语句后,b获值为2的是()(A) switch(a) (B) switch(a){ case 1: b=1; { case 1: b=1; break;case 2: b=2; case 2: b=2; break;default : b=3; default : b=3; break;} }(C) switch(a) (D) switch(a){ case 1: b=1; { case 1: b=1; break;case 2: b=2; break; case 2: b=2;default : b=3; default : b=3;} }5. 下列程序段运行后,输出GOOD的行数是()int i,j,k;for(i=1;i<3;i++)for(j=1;j<3;j++)for(k=i;k<j;k++) printf("GOOD\n");(A) 27 (B) 3 (C) 1 (D) 96. 二维数组正确的初始化是()(A)char str[][3]={“a ”,”1”};(B)char str[][3]={‘abc’,’4’};(C)char str[3][]={“a”,”1”};(D)char str[][3]=‘a’,’1’,’t’;7. 以下各判断是否为素数的函数中(是素数返回1,不是素数返回0),正确的是()(A) (B)#include <math.h> #include <math.h>prime(int n) prime(int n){ {for(int i=2;i<=sqrt(n);i++) for(int i=2;i<=sqrt(n);i++)if(n%i==0) if(n%i==0)return 0; return 1;else elsereturn 1; return 0;} }(C) (D)#include <math.h> #include <math.h>prime(int n) prime(int n){ {for(int i=2;i<=sqrt(n);i++) for(int i=2;i<=sqrt(n);i++)if(n%i==0) break; if(n%i==0)return 0; return 0return 1; return 1;} }8、以下程序段()int x=-1;do{x=x*x;printf("%d\n",x);}while(!x);A.是死循环 B. 循环执行两次C. 循环执行一次D. 有语法错误9、对于函数,下列叙述中正确的是()A.在调用某函数前,必须对该函数作原型说明,否则一定出错。
哈工大秋《C程序设计》考试题A
考试时间120 分钟满分 70班号学号姓名题号一二三四五总分实验( 20)平时( 10)总成绩分数一、填空题.(共20分,每空1分)1.面向对象地程序设计方法(可用各种语言实现,如C++ 、 Java、C#等)具有三大特性 ,它们分别是,,.2.已知 m = 4, 执行 m++。
后 ,表达式地值是,m地值是,执行 ++m 。
后 ,表达式地值是,m地值是.3.已知 m = 3, n = 2, 则执行语句 m > n ? m++ : ++n,m++,m+n 。
后 ,表达式地值是.4.循环语句 while(int i = 0){ i-- 。
} 执行地循环次数是次;语句for(int i(0), j(0)。
i = j = 1 。
i++, j--) {; }执行地循环次数是次.5.为了使函数能够返回两个或者更多地值,可将形参设置为下列两种方式,它们分别是或,如果希望实参不被修改 ,那么需要对形参使用关键字限制 .6.定义在类体外地函数,如果希望成为内联函数,则必须在类体内地声明中用关键字标识;运算符地重载必须用关键字标识 .7.在 C++ 中 ,类地继承方式有三种 ,需要用关键字、和来定义 .默认继承方式为.8.在 C++ 中 ,定义友元类或者友元函数必须使用关键字.二、判断题,正确地请打√,错误地请打×.(共10分,每题1分)1.编译 C++ 源程序地过程中 ,出现了警告错误 ,也可以生成可执行文件 .()2. C++ 中 ,使用 #define 定义地常量必须给出类型说明,而使用const 给出地常量不用给出类型说明 .()3.表达式地值地类型只取决于运算符,与操作数无关 .()4.break 语句可以出现在各种不同循环语句地循环体中,continue 语句只能出现在循环体中 .()5.函数没有返回值时,可以不加任何类型地说明符;任何一个函数都可以设置默认参数,但是不允许将一个函数地所有参数设置为默认参数.()6.指向函数地指针可以作为函数参数;使用数组名作函数参数时,实参数组与形参数组是共享内存单元地 .()7.结构与联合地差别在于结构中地每个成员都有自己地内存地址,且都是不相同地 ,而联合中地所有成员是共享内存块地,且内存块地大小与成员中地最大内存块相同.()8.如果类地一个成员函数只存取该类地静态数据成员,可将该成员函数说明为静态成员函数;友元类地所有成员函数都可以对该类中地私有成员进行存取操作.()9.类型转换函数是类地成员函数,它是用来进行强制类型转换地,它不能定义为友元函数 ,也不能定义为静态地成员函数;带有一个参数地构造函数具有类型转换地作用.()10. 在公有继承中,派生类地对象不可以访问基类中地保护成员;在私有继承中,派生类地对象不可以访问基类中地公有成员;在保护继承中,派生类可以访问基类中地保护成员.()三、请分析下列程序 ,并回答问题 .(共 16分)1、给出下列程序地输出结果,并说明其功能 .2、给出下列程序地输出结果,并说明其功能 .#include <iostream.h>#include <iostream.h>void swap( int&,int& ) 。
哈工大2005秋《C++ 程序设计》考试题-A
哈工大 2005 年 秋 季学期《C++程序设计》试题(A 卷)考试时间 120 分钟 满分 70题号 一 二 三 四 五 总分 实验(20)平时(10)总成绩 分数一、 填空题。
(共20分,每空1分)1. 面向对象的程序设计方法(可用各种语言实现,如C++、Java 、C#等)具有三大特性,它们分别是 , , 。
2. 已知m = 4, 执行m++;后,表达式的值是 ,m 的值是 ,执行++m ;后,表达式的值是 ,m 的值是 。
3. 已知m = 3, n = 2,则执行语句m > n ? m++ : ++n ,m++,m+n ;后,表达式的值是 。
4. 循环语句while(int i = 0) { i--; } 执行的循环次数是 次;语句for(int i(0), j(0); i = j = 1; i++, j--) { ; } 执行的循环次数是 次。
5. 为了使函数能够返回两个或者更多的值,可将形参设置为下列两种方式,它们分别 是 或 ,如果希望实参不被修改,那么需要对形参使用关键字 限制。
6.定义在类体外的函数,如果希望成为内联函数,则必须在类体内的声明中用关键 字 标识;运算符的重载必须用关键字 标识。
7.在C++中,类的继承方式有三种,需要用关键字 、 和 来定义。
默认继承方式为 。
8.在C++中,定义友元类或者友元函数必须使用关键字 。
二、 判断题,正确的请打√,错误的请打×。
(共10分,每题1分)1. 编译C++源程序的过程中,出现了警告错误,也可以生成可执行文件。
( )2. C++中,使用#define 定义的常量必须给出类型说明,而使用const 给出的常量不用给出类型说明。
( )3. 表达式的值的类型只取决于运算符,与操作数无关。
( )4. break 语句可以出现在各种不同循环语句的循环体中,continue 语句只能出现在循环体中。
( )班号 学号 姓名5. 函数没有返回值时,可以不加任何类型的说明符;任何一个函数都可以设置默认参数,但是不允许将一个函数的所有参数设置为默认参数。
c语言04-05秋试卷及答案
(041)上海大学2004-2005年秋季学期试卷2004.11课程名:程序设计基础(C) 学分: 5 学号:姓名:学院/教师:考生注意:1.试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答题纸上,交卷时将试卷和答题纸一起交上;3.不遵守上述者将不给予登记考试成绩。
一、基础题(23分,第1题3分,其它小题2分)1.分别计算表达式的值:(200 & 15)、(200 >> 4) & 15、200 ^ 15。
2.分别计算表达式的值:441%(int)41.1、(float)411/(41+(41-4)/4)。
3.已知int a=4,b=11,c=41,x; 则执行x =(b>2+a++) ? b+400 : c;后,x与a的值分别是多少。
4.已知float x=123.456; 分别计算表达式的值:(int)(10*x+0.5)/10.0、x-(int)x5.假设对n(n>0)个学生按下列方法进行分班:每班k(k>0)个学生,最后一个班若不足k人也单独编成一个班。
写出表达式表示所编班的个数。
6.85分以上(含)为1档成绩,60分以上(含)85分以下为2 档成绩,60分以下为3档,请写出成绩s所对应的档次表达式。
7.写出逻辑表达式:正整数n是一个三位数。
8.已知int a[10]; 试写出输入语句:输入整数a[5]。
9.已知FILE *fp; 试使用fp变量写出语句:以写方式打开文本文件“C:\myTest.TXT”。
10.已知char *pc[]={ "Shanghai", "Beijing", "Guangzhou" };计算表达式strlen(pc[1])*strlen(pc[2])与pc[0][4] – *(*(pc+2)+2)的值。
11.已知struct fs { int fz; int fm; } x[]={{2,7}, {4,9}};计算表达式x[0].fz*x[1].fm+x[1].fz*x[0].fm和x[0].fm*x[1].fm的值。
哈工大C语言程序设计A卷答案
for(n=10;n>1;n--)
s+=1/n;s += 1.0/n或s += (float)1/n2分
printf("%6.4f\n",s);
}
2.下面函数Squeeቤተ መጻሕፍቲ ባይዱ()的功能是删除字符串s中所出现的与变量c相同的字符。(本小题6分)
一、单项选择题(本题16分,每小题2分)
题号
1
2
3
4
5
6
7
8
答案
B
D
C
A
B
B
A
C
二、填空题。(本题20分,每空1分)
题号
答案
题号
答案
1
p=*a
11
h=q->next
2
*a+12
12
free(q)
3
求字符串长度
13
026
4
(int)
14
#include <stdio.h>
5
intpart
15
FILE *
题号
1
2
3
4
5
6
7
8
答案
3
13↙
2
4
1,6
un,g
here,ve
51,30
&#
四、根据功能描述改正程序中的错误。不得增行或删行,不得更改程序结构。(本题10分)
1.要求以下程序的功能是计算1+1/2+1/3+……+1/10的和。(本小题4分)
#include <stdio.h>
2004级C语言程序设计试卷2005-06-26
C语言程序设计试卷(计本04级,信安04级,闭卷,2005年7月)班级学号姓名成绩一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的。
请选择正确的选项并填写到括号内。
选择正确的得分。
每小题1分,共10分)1、“\n”是()A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符2、0xabcdUL是()A、字符型常量B、整型常量C、浮点型常量D、非法常量3、While是()A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符4、不考虑字符串的终结符,字符串"\078ab\t\x30\\\n"的长度是:A、6B、7C、8D、155、88.F是()A、字符型常量B、整型常量C、浮点型常量D、非法常量6、ˊ\x123ˊ是()A、字符型常量B、整型常量C、浮点型常量D、非法常量7、5e5是()A、字符型常量B、整型常量C、浮点型常量D、非法常量本题第8、第9、第10小题参考下列说明:struct node{int i;int j[2];} a[]={{-1,0,1},{1,0,2},{0,-1,3},{0,1,4}};struct node *p=&a[0];8、表达式~a[1].j[0]+1的值是()A、-1B、0C、1D、29、表达式(*(p+1)).i<<2的值是()A、1B、2C、3D、410、表达式(p+2)->j[1]&0123的值是()A、1B、2C、3D、4二、多项选择题(在下面每小题的A、B、C、D四个选项中,有两个或两个以上的选项是正确的。
请选择正确的选项并填写到括号内。
多选、少选、错选均不得分。
每小题2分,共10分)1、以下选项可作为C语言合法常量的是()。
A、1UB、0678C、0XABCDEF12LD、2005F2、以下不能定义为用户标识符的是()。
2004级信息与计算科学《C程序设计》试题A——答案
2004级信息与计算科学《C程序设计》试题A——答案一、单项选择题(15X2=30分)1-5: ABAAC 6-10: BBBBC 11-15: DDAAA二、填空题:(15X2=30分)1. 10 30 02. 813. 3 4 54. bar[i]5. 4 3 3 46. t==0或!t7. 0 10 1 11 2 128. 99. fclose(fp)10. 911. 25 21 3712. 2 113. high=mid-1, low=mid+1; return mid三、编程题:(4X10=40分)1.编写一个程序,将两个字符串str1和str2连接起来,结果放在str1中。
(不使用strcat函数,要求使用指针,否则只得一半分)可有多种写法,下面给出一种参考答案,可有多种写法,根据实际情况给分#include <stdio.h>void mystrcat(char *str1,char *str2){ char *p,*q;p=str1;q=str2;while (*p)p++;while (*p++=*q++);}void main(){ char *s1,*s2;gets(s1);gets(s2);mystrcat(s1,s2);puts(s1);}2.编写一个程序,输入一个十六进制数,输出相应的十进制数。
以下给出了一个参考程序(只写出了函数),可有多种写法,根据实际情况给分int htoi(char ch[]){ int n=0;for (int i=0; ch[i] != ‘\0’; i++){ if (ch[i] >= ‘0’ && ch[i]<=’9’)n=n*16+ch[i]-‘0’;if (ch[i] >= ‘a’ && ch[i]<=’z’)n=n*16+ch[i]-‘a’+10;if (ch[i] >= ‘A ’ && ch[i]<=’Z’)n=n*16+ch[i]-‘A’+10;}return n;}3.编写一个程序,将NxN 整形矩阵转置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++ 程序设计-A 》(2003级数学系) 班级 学号 姓名 Page 1 of 7《一、 填空题。
(共15分,每空1分)1. 面向对象的程序设计方法(可用各种语言实现,如C++、Java 、C#等)具有三大特性,它们分别是 , , 。
2. 已知m = 5, 执行m++;后,表达式的值是 ,m 的值是 ,执行++m ;后,表达式的值是 ,m 的值是 。
3. 已知m = 4, n = 5,则执行语句m > n ? m++ : ++n ,m++,m+n ;后,表达式的值是 。
4. 循环语句while(int i = 1) { i--; } 执行的循环次数是 次;语句for(int i(0), j(0); i = j = 0; i++, j--) { ; } 执行的循环次数是 次。
5. 为了使函数能够返回两个或者更多的值,可将形参设置为下列两种方式,它们分别 是 或 ,如果希望实参不被修改,那么需要对形参使用关键字 限制。
6.定义在类体外的函数,如果希望成为内联函数,则必须在类体内的声明中用关键 字 标识;运算符的重载必须用关键字 标识。
二、 判断题,正确的请打√,错误的请打×。
(共20分,每题1分)1. 编译C++源程序的过程中,出现了警告错误,也可以生成可执行文件。
( )2. C++中,使用#define 定义的常量必须给出类型说明,而使用const 给出的常量不用给出类型说明。
( )3. 表达式的类型只取决于运算符,与操作数无关。
( )4. break 语句可以出现在各种不同循环语句的循环体中,continue 语句只能出现在循环体中。
( )5. 函数没有返回值时,可以不加任何类型的说明符;任何一个函数都可以设置默认参数,但是不允许将一个函数的所有参数设置为默认参数。
( )6. 指向函数的指针可以作为函数参数;使用数组名作函数参数时,实参数组与形参数组是共享内存单元的。
( )7. 结构与联合的差别在于结构中的每个成员都有自己的内存地址,且都是不相同的,而联合中的所有成员是共享内存块的,且内存块的大小与成员中的最大内存块相同。
( )8. 如果类的一个成员函数只存取该类的静态数据成员,可将该成员函数说明为静态成员函数;友元类的所有成员函数都可以对该类中的私有成员进行存取操作。
( )9. 类型转换函数是类的成员函数,它是用来进行强制类型转换的,它不能定义为友元函数,也不能定义为静态的成员函数;带有一个参数的构造函数具有类型转换的作用。
( )10. 在公有继承中,派生类的对象不可以访问基类中的保护成员;在私有继承中,派生类的对象不可以访问基类中的公有成员;在保护继承中,派生类可以访问基类中的保护成员。
( )三、 请分析下列程序,并回答问题。
(共30分)2、阅读下列程序,给出正确的输出结果。
(3分) #include <eh.h> #include <iostream.h> #include <process.h>void term_func() { cout<<"terminate is calling ";cout<<"term_func."<<endl; exit( -1 ); }int main() { try {set_terminate( term_func ); throw "Out of memory!"; }catch( int ) { cout << "整数异常." << endl; }return 0; }四、阅读下列文档,并回答提出的问题。
(共25分)。
1、根据下列文档说明,判断所给出的几个问题。
用“×”或者“√”在问题后的括号中标出。
(6分)The struct keyword defines a structure type and/or a variable of a structure type. A structure type is a user-defined composite type. It is composed of "fields" or "members" that can have different types. In C++, a structure is the same as a class except that its members are public by default. In C, you must explicitly use the struct keyword to declare a structure. In C++, this is unnecessary once the type has been defined. You have the option of declaring variables when the structure type is defined by placing one or more comma-separated variable names between the closing brace and the semicolon.○1用struct关键字说明的类型只能由相同的数据类型组成。
()○2struct类型中的所有成员都是作为私有访问类型的。
()○3在C语言中定义结构变量时,必须显示地给出关键字struct;而在C++中,则可以省略关键字。
()2、阅读下列说明文档,回答后面的问题。
(4分)Virtual base classes offer a way to save space and avoid ambiguities in class hierarchies that use multiple inheritance. Each nonvirtual object contains a copy of the data members defined in the base class. This duplication wastes space and requires you to specify which copy of the base class members you want whenever you access them. When a base class is specified as a virtual base, it can act as an indirect base more than once without duplication of its data members. A single copy of its data members is shared by all the base classes that use it as a virtual base. The virtual keyword appears in the base lists of the derived classes, not the base class.《C++ 程序设计-A》(2003级数学系)班级学号姓名Page 4 of 7○1为什么要提出虚基类的概念,它有什么好处?23、阅读下列说明文档,回答后面的问题。
(15分)“Virtual functions” are functions that ensure that the correct function is called for an object, regardless of the expression used to make the function call. Suppose a base class contains a function declared as virtual and a derived class defines the same function. The function from the derived class is invoked for objects of the derived class, even if it is called using a pointer or reference to the base class. Functions in derived classes override virtual functions in base classes only if their type is the same. A function in a derived class cannot differ from a virtual function in a base class in its return type only; the argument list must differ as well.When calling a function using pointers or references, the following rules apply:● A call to a virtual function is resolved according to the underlying type of object for which it is called. ● A call to a nonvirtual function is resolved according to the type of the pointer or reference.virtual functions are called only for objects of class types, you cannot declare global or static functions as virtual. The virtual keyword can be used when declaring overriding functions in a derived class, but it is unnecessary; overrides of virtual functions are always virtual. Virtual functions in a base class must be defined unless they are declared using the pure-specifier. The virtual function-call mechanism can be suppressed by explicitly qualifying the function name using the scope-resolution operator (::).Abstract classes cannot be used for: variables or member data、argument types、function return types and types of explicit conversions. Another restriction is that if the constructor for an abstract class calls a pure virtual function, either directly or indirectly, the result is undefined. However, constructors and destructors for○2根据你对上面的帮助文档的理解,判断下列说法的正误。