C语言程序设计A期末模拟试题(1-4)

合集下载

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为()A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(〈CR>表示回车),x的值是( ) 。

#include〈stdio。

h〉main(){int x;float y;scanf(”%3d%f”,&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b;float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include〈stdio.h〉{int i=10,j=10;printf("%d,%d\n”,++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include〈stdio。

h>main(){char c1='A',c2=’Y’;printf(”%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是()A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

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语言程序设计期末检测卷模拟(含答案)

(编号(A卷))题目部分,(卷面共有29题,100分,各大题标有题量和总分)一、单选题(15小题,每小题2分,共30分)1.一个C程序的执行是从本文件的()。

A.main函数开始,到main函数结束B.main函数开始,到最后一个函数结束C.第一个函数开始,到main函数结束D.第一个函数开始,到最后一个函数结束答案:A2.()不能作为用户自定义标识符。

A._0 B.Main C.for D.int3答案:C3.表达式3.6-5/2+1.2+5%2的值是()。

A.4.3 B.4.8 C.3.3 D.3.8答案:D4.已知x、y为int型,z为double型,()是不合法的scanf函数调用语句。

A.scanf("%d%d",&x,&y); B.scanf("%d%lf",&x,&z);C.scanf("%x%d",&x,&z); D.scanf("%x%o%lf",&x,&y,&z); 答案:C5.以下不正确的if语句形式是()。

A.if(x>y && x!=y); B.if(x==y) x+=y;C.if(x!= y) D.if(x<y)scanf("%d",&x); x++;y++;else elsescanf("%d",&y); x=y;答案:D6.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。

A.a>=10 or a<=0 B.a>=10 and a<=0C.a>=10 &&a<=0 D.a>=10||a<=0答案:D7.以下程序段的输出结果是()。

char x='B';switch(x){ case 'A': printf("A");case 'B': printf("B");case 'C': printf("C");default: printf("D");}A.B B.BC C.BCD D.ABCD 答案:C 8.有关for循环描述正确的是()。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不就是C语言得特点得就是( )A、C语言简洁、紧凑B、能够编制出功能复杂得程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确得C语言标识符就是()A、ABCB、abcC、a_bcD、ab、c3、一个C语言程序就是由()A、一个主程序与若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性得描述中错误得就是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a就是整型,f就是实型,i就是双精度型,则表达式10+‘a’+i*f值得数据类型为()A、int B、float C、doubleD、不确定6、在C语言中,char型数据在内存中得存储形式就是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x得值就是( ) 。

#includemain(){int x;floaty;scanf("%3d%f",&x,&y);}A、12345B、123 C、45 D、3458、若有以下定义int a,b; float x,则正确得赋值语句就是()A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序得执行结果就是( )#include<stdio、h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A得ASCII码就是65,以下程序得执行结果就是( )#include<stdio、h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高得就是()A、<B、十C、%D、!=12、设x、y与z就是int型变量,且x=3,y=4,z=5,则下面表达式中值为0就是( ) 。

《C语言程序设计》期末笔试模拟试卷及参考答案

《C语言程序设计》期末笔试模拟试卷及参考答案
11.若有定义:
typedef char* string;
#define str char *
int a=4;
struct{
int x,*y;
}z={10,&a},*p=&z;
则如下不等价的是:(11)A
A.string name,sign;与 strname,sign; B.*p->y++与*(p->y++)
};
B.intb[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)A
case red : col++;
case green : col++;break;
case red+green : col++;
}
printf(“%d”,col);
}
13.已知某函数内有声明:“int a[3][3], (*ptr)[3]=a, *p=a;”,则下列(13)能正确引用数组元素a[1][2]。B
5.
6.
7.
3. 若有声明:enumd{e,s,w,n}c=s;则表达式“ops”+c值的类型是(3)。B
A.enumdB.char *C.intD.int *
4.下列叙述中除(4)之外都是正确的。B
A.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。

C程序设计期末考试试卷A及答案

C程序设计期末考试试卷A及答案

一、判断题(每小题1分,共10个小题,共10分)1、printf可以作为变量名使用。

( )2、在标准C中,“=”是判断两个数是否相等.( )3、C语言中实参到形参传递是双向的.()4、"a"是合法的字符串常量。

()5、C语言中,以0代表“假”,以非零代表“真”.( )6、二维数组可以这样定义:int a[3][4].()7、设“char a[10]="abc””;则strlen(a)的值为3。

( )8、一个C语言源程序文件中有且只能有一个主函数。

( )9、不能用"r”方式打开一个并不存在的文本文件。

()10、打开文件使用fclose函数。

()二、选择题(每小题2分,共40个小题,共80分)1、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )【A】函数调用可以作为一个函数的形参【B】函数调用可以作为一个函数的实参【C】函数调用可以出现在表达式中【D】函数调用可以作为独立的语句存在2、以下程序运行后的输出结果是( ),︹符号表示空格。

【3、若运行时给变量x输入12,则以下程序的运行结果是( )【4、以下说法正确的是( )【A】C语言程序总是从第一个的函数开始执行【B】在C语言程序中,要调用函数必须在main()函数中定义【C】C语言程序中的main()函数必须放在程序的开始部分【D】C语言程序总是从main()函数开始执行5、若执行下述程序时,若从键盘输入6和8时,结果为( )【6、以下叙述中正确的是()【A】可以在一个函数中定义另一个函数【B】构成C程序的基本单位是函数【C】main()函数必须放在其他函数之前【D】所有被调用的函数一定要在调用之前进行定义7、下列程序段的输出结果是()【【C】1234,123.5,12345。

5 【D】1234,123。

4,1234.58、已知字母A的ASCII码为十进制数65,且C1为字符型变量,则执行语句C1=’A’+’6'—‘3’后C1的值为()【A】B 【B】C 【C】d 【D】D9、设有以下程序段( )【【C】程序段中的控制表达式是非法的【D】程序段执行无限次10、执行下面的程序段后,变量k中的值为()【11、以下程序段的描述,正确的是( )【12、有如下程序段,执行该程序段后,x的值为( )【13、以下选项中不是字符常量的是()【A】”C" 【B】'C’【C】’\xF1’【D】’\071’14、一个C语言程序是由( )【A】一个主程序和若干子程序组成【B】函数组成【C】若干过程组成【D】若干子程序组成15、请选出可用作C语言用户标识符的是( )【A】temp,fname,dir—name 【B】if,_123,var1【C】FOR,_abc,Case 【D】2a,Do,Sizeof16、以下不正确的叙述是( )【A】在C程序中,逗号运算符的优先级最低【B】在C程序中,APH和aph是两个不同的变量【C】若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变【D】当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值17、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是()【18、下面程序的运行结果是( )【19、下列程序的输出结果是()【20、下列数据中,不合法的C语言实型数据的是( )【A】0。

C语言程序设计模拟试题期末考试卷AB卷(附答案)

C语言程序设计模拟试题期末考试卷AB卷(附答案)

《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的是 ( )。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、ab。

c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR〉表示回车),x的值是( ) 。

#include〈stdio。

h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b;float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio。

h>{int i=10,j=10;printf("%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h〉main(){char c1=’A',c2=’Y’;printf(”%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( )。

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

C 语言程序设计A 期末模拟试题一 一、单项选择题(每小题2分,共20分) 1. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。

A. cpp B. exe C. obj D. lik 2. x >0 && x<=10的相反表达式为( )。

A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 3. 在下面的一维数组定义中,哪一个有语法错误。

( C ) A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 4. 假定p 是具有double 类型的指针变量,则表达式++p 使p 的值(以字节为单位)增加( C )。

A. 1 B. 4 C. sizeof(double) D. sizeof(p) 5. 当#include 后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。

A. 直接按系统设定的标准方式搜索目录 B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录 C. 仅仅搜索源程序所在目录 D. 搜索当前逻辑盘上的所有目录 6. 假定指针变量p 定义为“int *p=new int(100);”,要释放p 所指向的动态内存,应使用语句( A )。

A. delete p; B. delete *p; C. delete &p; D. delete []p; 7. 假定AA 为一个类,a 为该类公有的数据成员,px 为指向该类对象的一个指针,则访问px 所指对象中数据成员a 的格式为( )。

A. px(a) B. px[a] C. px->a D. px.a 8. 栈具有( )的操作特性。

A. 先进先出 B. 先进后出 C. 进出无序 D. 进出任意 9. 对于任一个类,用户所能定义的构造函数的个数至多为( )。

A. 0 B. 1 C. 2 D. 任意个 10. 下列对派生类的描述中错误的说法是:( )。

A. 派生类至少有一个基类 B. 派生类可作为另一个派生类的基类 C. 派生类除了包含它直接定义的成员外,还包含其基类的成员 D. 派生类所继承的基类成员的访问权限保持不变 二、填空题(每题2分,共20分) 1. C++语言是在_________语言的基础上发展起来的。

2. 当执行cin 语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。

3. 假定x 是一个逻辑量,则x && false 的值为__________。

4. 元素类型为char 的二维数组a[10][30]共占用____ ____字节的存储空间。

5. 局部变量具有局部生存期,存放在内存的______栈______区中。

6. 已知语句“cout<<p;”的输出是“Hello!”,则语句“cout<<*p;”输出的是__________。

7. 对类中常量成员的初始化是通过在构造函数中给出的______________来实现的。

8. 在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_____________。

9. 假定用户为类AB 定义了一个构造函数“AB(intaa):a(aa){}”,则定义该类的对象时,有________种定义格式。

10. 在每个成员函数中,隐含的第一个参数的参数名为________。

三、程序填充题(对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。

每小题6分,共24分)1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。

求斐波那契数列中的前20个数,要求每行输出5个数。

#include<iostream.h>void main() {int f,f1,f2,i;cout<<” 斐波那契数列:\n ”;f1=0; f2=1;cout<<setw(6)<<f1<<setw(6)<<f2;for(i=3;i<=20;i++) {f=______(1)______;cout<<setw(6)<<f;if(_____(2)______) cout<<endl;f1=f2;f2=____(3)_______;}cout<<endl;}(1) (2) (3)2. 对数组a[n]按升序进行的选择排序算法void SelectSort(int a[], ___(1)___){int i,j,k;for(i=1;i<n;i++) { //进行n-1次选择和交换 k=i-1; for(j=i;j<n;j++) if(a[j]<a[k]) ___(2)___; int x=a[i-1]; a[i-1]=a[k]; ___(3)___; } } (1) (2) (3) 3. 已知一个类的定义如下: #include<iostream.h> class AA { int a[10]; int n; public: void SetA(int aa[], int nn); //用数组aa 初始化数据成员a , //用nn 初始化数据成员n int MaxA(); //从数组a 中前n 个元素中查找最大值 void SortA(); //采用选择排序的方法对数组a 中前n 个元素 //进行从小到大排序 void InsertA();//采用插入排序的方法对数组a 中前n 个元素进行从小到大排序 void PrintA(); //依次输出数组a 中的前n 个元素 }; 该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。

int ____(1)_____ { int x=a[0]; for(int i=1; i<n; i++) if(a[i]>x) ___(2)___; ___(3)___; } (1) (2) (3) 4.class A { int a; public: A() {a=0;}___(1)___{} //定义构造函数,用参数aa 初始化数据成员a};main() {___(2)___; //定义类A 的指针对象p___(3)__; //用p 指向动态对象并初始化为整数5}(1) (2)(3)四、理解问答题(写出前两小题的程序运行结果和指出后两小题的程序(或函数)所实现的功能。

每小题6分,共24分)1. #include<iostream.h>#include<stdlib.h>void main(){int a[8]={25,48,32,85,64,18,48,29}; int max,min;max=min=a[0];for(int i=0; i<8; i++) {if(x>a[i]) max=a[i];if(x<a[i]) min=a[i];}cout<<"max:"<<max<<endl;cout<<"min:"<<min<<endl;}2. #include<iostream.h>void main(){for(int i=1,s=0;i<20;i++) {if(i%2==0 || i%3==0) continue;cout<<i<<’ ’;s+=i;}cout<<s<<endl;}3. void trans(int x){char a[10];int i=0,rem;do {rem=x%16;x=x/16;if(rem<10) a[i]=48+rem; //’0’字符的ASCII 码为48else a[i]=55+rem; //’A’字符的ASCII码为65i++;}while(x!=0);while(i>0) cout<<a[i];cout<<endl;}4. char *f(char *s){int n=strlen(s);char* r=new char[n+1];for(int i=0; i<n; i++)if(s[i]>='a' && s[i]<='z') r[i]=s[i]-'a'+'A';else r[i]=s[i];r[n]=’\0’;return r;}五、编程题(每小题6分,共12分)1. 求出从键盘上输入的10个整数中的最大值,要求输入变量用x表示,存储最大值的变量用max表示。

2. 根据下面类中Reverse 函数成员的原型和注释写出它的类外定义。

class AA {int* a;int n;int MS;public:void InitAA(int aa[], int nn, int ms) {if(nn>ms) {cout<<"Error!"<<endl; exit(1);}MS=ms;n=nn;a=new int[MS];for(int i=0; i<MS; i++) a[i]=aa[i];}AA* Reverse(); //对于调用该函数的对象,将其a 数组中前n个//元素值按相反的次序排列,返回指向该对象的指针。

};C语言程序设计A期末模拟试题一参考答案7.C 8.B 9.D 10.D二、填空题1. C2. 空白3. false(或0)4. 3005.栈6.H7. 初始化表8. 成员函数9. 1 10. this三、程序填充题1. (1) f1+f2 (2) i%5==0 (3)f2. (1) int n (2) k=j(3) a[k]=x3. (1) AA::MaxA() (2) x=a[i](3) return x4. (1) A(int aa):a(aa) (2) A *p (3) p=new A(5)四、理解问答题1.max:85min:182.1 5 7 11 13 373.此函数用于把十进制整数x转换为十六进制数字串输出4.根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。

相关文档
最新文档