C++程序语言模拟期末考试试卷(一)附答案
期末c语言试题及答案
期末c语言试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项不是C语言中的关键字?A. intB. charC. voidD. for答案:C2. C语言中,用于定义单精度浮点型变量的关键字是?A. floatB. doubleC. intD. char答案:A3. 在C语言中,以下哪个运算符用于取模?A. %B. /C. *D. -答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A7. 下列哪个选项不是C语言中的标准库函数?A. printfB. scanfC. mallocD. strcpy答案:D8. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. C语言中,用于定义一个枚举类型的关键字是?A. enumB. structC. unionD. typedef答案:A10. 在C语言中,以下哪个选项用于定义一个指针?A. *B. &C. %D. #答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个字符型变量的关键字是________。
答案:char3. C语言中,用于定义一个双精度浮点型变量的关键字是________。
答案:double4. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool5. C语言中,用于定义一个数组的关键字是________。
C语言期末考试试卷附参考答案
C语言期末考试一试卷附参照答案序列中 10 个数的次序为:,若使用次序比较法,经过三轮排序后,这10 个数的次序为:。
3. 调用字符串办理函数时,应在程序的开头增添预编译命令:#include<>,puts( )函数将一个以结束的字符序列(字符串)输出到终端4.C 语言中,函数分为系统供给的和用户自定义函数两类,也可分为有参函数和两类。
5.函数的递归调用指在调用一个函数的过程中又。
6.函数值只好经过语句返回主调函数。
四、程序改错(求出两个非零正整数的最大条约数在右侧写出正确内容, 5× 2)#include<stdio.h>int fun(int a, b ){ int r,t;if(a<b) {t=a;b=a;a=t;}r=a%b;while(r!=0){a=b;b=r;r=a/b;}return a;}五、阅读程序写出运转结果(4×5)1.# include<stdio.h>int main( ){ void fun(int x);fun(8);printf("\n");}void fun(int x){if(x/2>0) fun(x/2);printf("%d",x);}运转结果为:3. #include <stdio.h># include<math.h>int main( ){ int i,j,n=0;for(i=― 5;i<=5;i++){ if(i%2!=0) n++;for(j=1;j<=abs(i);j++) printf( “ “);,并作为函数值返回。
在错误下边划横线,void main( ){ int n1,n2,a;printf( “please input n1,n2:\n ”);scanf( “%d%d”,&n1,&n2); a=fun(n1,n2);printf("最大条约数是: %d\n",a);}2.# include <stdio.h>void main ( ){ char s1[ ]=” This book ”;char s2[ ]= ” THIS hook ”;int i;for (i=0;s1[i]!= 0’ &&s2[i]!= 0’i++);if(s1[i]!=s2[i]) printf( “ %c” ,s1[i]);}运转结果为:4.#include <stdio.h>int main( ){int i,j,x;int a[10] ={12,3,14,5,26,97,38,9,0,―2}; for(i=0;i<=9;i++){x=a[i];j=i-1;while(j>=0&&x<a[j])六、程序填空题(结果按次号填在下方对应横线上, 10× 2 分)1、编程实现将十进制整数 n 变换成十六进制 2、编写判断能否为素数的函数,在主函数 数输出。
C语言程序设计模拟试题1(附答案)
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
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};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
c语言期末考试考试题及答案
c语言期末考试考试题及答案C语言期末考试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. IntegerB. intC. StringD. float答案:B2. C语言中,哪个运算符用于计算两个整数的乘积?A. *B. /C. %D. +答案:A3. 在C语言中,以下哪个语句用于定义一个整型变量?A. int var;B. variable int;C. var int;D. int = var;答案:A4. 下列哪个选项是正确的C语言数组声明?A. int array[10];B. int [10] array;C. array[10] int;D. int array = 10;答案:A5. C语言中,哪个函数用于计算两个数的最大值?A. max(int a, int b)B. max(double a, double b)C. maximum(int a, int b)D. max_value(int a, int b)答案:A二、填空题(每空2分,共20分)1. C语言中,一个完整的程序由_________和_________两部分组成。
答案:预处理指令;函数2. 在C语言中,用_________关键字定义一个函数。
答案:void 或 int 或其他数据类型(根据函数返回类型而定)3. C语言中,用于输入输出的库函数是_________和_________。
答案:printf;scanf4. 一个C语言程序的执行从_________函数开始。
答案:main5. C语言中,定义一个字符常量使用的是_________括号。
答案:单引号三、简答题(每题10分,共20分)1. 简述C语言中变量的作用域和生命周期。
答案:变量的作用域指的是变量可以被访问的代码区域。
局部变量的作用域仅限于定义它的块内,而全局变量可以在整个程序中访问。
变量的生命周期指的是变量存在的时间,局部变量的生命周期从定义开始到所在代码块结束,全局变量的生命周期则从程序开始到结束。
昆明理工大学C语言程序设计模拟试卷1,附答案
C语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。
A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。
A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。
A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。
x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。
ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。
int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。
C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。
1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。
B. C语言标准库中包含了很多有用的函数和变量。
C. C语言标准库的函数和变量的声明保存在头文件中。
D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。
2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。
1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。
以下是程序的运行示例:```1至100之间的所有偶数的和为2550。
```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。
以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。
C语言期末考试题(含答案)
C语言期末考试题(含答案)《C语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是()A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C 语言中的函数不可以单独进行编译。
2、一个C语言的源程序中()A)必须有一个主函数B)可能有多个主函数C)必须有除主函数外其它函数D)可以没有主函数3、以下不能定义为用户标识符的是()A)scanfB)VoidC)_3comD)int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;15、设有定义:floata=2,b=4,h=3;以下C语言表达式中与代数式(a b)*h的计2算结果不相符的是().C)for、while、do-whileD)if、for、continue7.在while(!x)语句中的!x与下面条件表达式等价的是()A) x!=0B) x==1C)x!=1D)x==08、有以下程序:#include <XXX>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n”,i,j,k);}执行后的输出结果是()A)1,1,2B)2,2,1C)2,2,2D)2,2,39、有以下程序:#include <XXX>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是()A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n);D)void fun(n,x);2、填空题(10x2’=20’)11、C言语描绘“x和y都大于或等于z”的表达式是:。
C语言程序设计期末考试试题及答案
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
大学C语言期末考试练习题(带详解答案)(1)
main( )
语{
言
int sum,pad;
程 序
sum=pad=5;
设 计
pad=sum++;
控
pad++;
制 结
++pad;
构
printf("%d\n", pad);
}
A)7
B)6
C)5
D)4
第20页
返回目录
● 单项选择题
D 10)以下程序的运行结果为____.
#include <stdio.h>
低成绩,当输入负数时结束输入。
#include <stdio.h>
main ( )
{ float score, max, min;
printf ( "Please input one score:\n" );
语
scanf ("%d", &score);
言 程
max=min=score;
while ( s__c_o__r__e_>__=__0_ )
类 型
m1=m2=1;
与 运
printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));
算
}
符
返回目录
● 填空题
第15页
C
语
n=1
言 程
6.以下程序的执行结果是___________。
序
#include<stdio.h>
设 计
main()
基
{
本 数
float f=13.8;
《C语言程序设计》期末笔试模拟试卷及参考答案
《C语言程序设计》期末笔模拟试卷(本试卷满分60分)院系学号姓名1. 答案均写在答题纸上,写在卷面上无效;2. 答题结束后将试卷及答题纸全部交给监考教师;一、单选题 (1分×16,共16分)1. 下面 (1) 是正确的局部数组声明CA. char a[][5]={“math”,“phy”,“chemi” };B. int b[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) A3. 若有声明:enum d{ e,s,w,n}c=s;则表达式“ops”+ c值的类型是 (3) 。
B A. enum d B. char * C. int D. int *4. 下列叙述中除 (4) 之外都是正确的。
BA.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。
B.不能用extern定义一个外部变量、数组。
C. 无论在函数外还是在函数内说明引用本程序中定义的函数,都可不写extern关键字。
D.用extern说明引用一个外部数组时,可以不给出数组大小。
5. 下列能正确执行的程序是: (5) A6. 对于二维数组定义: int a[i][j]; (i、j均为常量),且有:0≤m<i,0≤n<j , 则下列除 (6) 外,都是不等价的。
BA. a+m 与 a[0]+mB. a+m 与 *(a+m)C. *(a+m) 与 *a[m]D. *a 与 *a[0]7. 若程序中有声明:“float a,b[3][4];”与引用函数的说明:“int fun(floatk[][3]),int n);”则下列 (7) 都是常量或常量表达式。
C语言程序设计模拟试题1(附答案)
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
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};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
c语言编程题期末考试题及答案
c语言编程题期末考试题及答案C语言编程题期末考试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项不是C语言的关键字?A. intB. ifC. classD. while答案:C2. C语言中,以下哪个表达式的结果为真?A. 5 > 3B. 7 <= 7C. 'A' == 65D. 0答案:A3. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sum()D. max()答案:C(注意:sum()不是C语言的标准库函数,这里假设它是一个自定义函数)4. 下列哪个选项是正确的C语言数组声明?A. int numbers[] = {1, 2, 3};B. int numbers(3) = {1, 2, 3};C. int numbers = [1, 2, 3];D. int [3] numbers = {1, 2, 3};答案:A5. 在C语言中,以下哪个语句用于交换两个变量的值?A. swap(a, b);B. a = a + b;C. a = b, b = a;D. a ^= b; b ^= a; a ^= b;答案:D二、填空题(每空2分,共20分)6. C语言中,定义一个整型变量a,可以使用________关键字。
答案:int7. 若有定义:int a = 5, b = 10; 则表达式a++的值是________。
答案:58. 在C语言中,若要输出字符'A',可以使用printf函数的格式说明符________。
答案:%c9. 下列代码段中,for循环的执行次数是________。
```cint i;for(i = 0; i < 10; i++) {printf("%d ", i);}```答案:1010. C语言中,若要定义一个指向整型变量的指针p,可以使用________。
C语言期末考试卷(一)
武 汉 工 程 大 学2017年期末考试模拟试卷(卷一)考试方式:【闭卷】 考试时间:【2017-06-27】 考试时间:【120分钟】 出题人 :【张强东】题号 得分注意:答案一律写在答题纸上,写在试卷上无效一. 选择题:(单选,每题2分,共40分,请填写在答题卡上)1. 可以作为自定义标识符的是() A) 2x B) while C) s&1 D) _2x2. 下列关于单目运算符++、--的叙述中正确的是________。
A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char 型变量和int 型变量,但不能是float 型变量 C) 它们的运算对象可以是int 型变量,但不能是double 型变量和float 型变量 D)它们的运算对象可以是char 型变量、int 型变量和float 型变量3. 下面不属于算法的控制结构的是______ 。
A) 顺序结构 B) 归纳结构 C) 循环结构 D) 选择结构4. 在下列选项中,没有构成死循环的程序段是A) int i=100;while (1) {i=i%100+1;………………………………………密…………………………………………………封…………………………………………………………………线………………………………………………………………………………………..学号-----------------------------姓名----------------------if (i>100) break;}B)for( ; ; );C)int k=1000;do {++k;} while (k>=1000);D)int s=36;while (s) --s;5.下列程序执行后的输出结果是main() int a[3][3],*p,i;p=&a[0][0];for(i=1;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);A)3B)6C)9D)随机数6.下列叙述中错误的是________。
C++程序语言模拟期末考试试卷(一)附答案
C++模拟试卷(一)一、单项选择题(共20题,每题1分,共20分)1、下列关于C++标识符的命名不合法的是CA. PadB. name_1C. A#bcD. _a122、若有以下类型标识符定义:()int x=2; char w='a'; float y=23.45f; double z=45.6712;则表达式w*x+y-z的结果类型是 DA. floatB. charC. intD. double3、若有int x=10,y=20,z=30; 则执行下面语句后,x的值是Bif(x>y)z=x;x=y;y=z;A. 10B. 20C. 30D. 04、循环语句whlie(int i=0 )i--;的循环次数是AA. 0B. 1C. 5D. 无限5、一个函数无返回值时,应选择的说明符是CA. staticB. externC. voidD. 无说明符6、对重载函数形参的描述中,错误的是DA. 参数的个数可能不同B. 参数的类型可能不同C. 参数的顺序可能不同D. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是DA. int N=5,b[N][N];B. int a[2]={{1},{3},{4},{5}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};8、下列给字符数组进行的初始化中,不正确的是DA. char s1[]="abcd";B. char s2[3]={'x','y','\0'};C. char s3[]={'a','x','y','\0'};D. char s4[6]={"xyz","mnp"};9、通常的拷贝构造函数的参数是CA.某个对象名 B.某个对象成员名C.某个对象的引用 D.某个对象的指针名10、关于构造函数特点的描述中,错误的是AA. 定义构造函数必须指出类型B. 构造函数的名字与该类的类名相同C. 一个类中可定义0至多个构造函数D. 构造函数是一种成员函数11、下面程序的运行结果为C祝你好运加油#include <iostream.h>int add(int a,int b);void main(){extern int x,y;cout<<add(x,y)<<endl;}int x=20,y=5;int add(int a,int b){int s=a+b;return s;}A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是BA. 常成员包含常数据成员和常成员函数两种B. 常数据成员必须是公有的C. 常数据成员要使用构造函数成员初始化列表进行初始化D. 常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友元函数的描述中,错误的是BA. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend14、如果有int x,*p; float y,*q;则下面操作正确的是CA.p=x B.p=qC.p=&x D.p=&y15、若有函数说明void fA(int m, int n); 和指针变量的定义 void (*p)(int,int);并且有p= fA则下列操作不正确的是DA.(*p)(3,4); B.p(3,4);C.fA(3,4); D.*p++;16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是DA. 数组的长度B. 数组第一个元素的值C. 数组所有元素的值D. 数组第一个元素的地址17、对于动态分配内存空间描述正确的是DA.使用new运算符分配的内存空间的长度必需是常量B.delete运算符可以释放动态的存储空间和静态的存储空间C.由new分配的内存空间是不连续的D.delete运算符只能释放由new分配的动态存储空间18、能够释放对象所占资源的是( A)A.析构函数 B.数据成员祝你好运加油C.构造函数 D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字C A.static B.frendC.virtual D.public20、在C++中串流类是在头文件strstrea.h中定义的,下列不属于串流类的是C)A.strstream B.ostrstreamC.ofstream D.istrstream二、填空题(共9题16空,每空1分,共16分)1、函数重载时,编译系统会根据形参的类型或形参的个数来区分。
C语言程序设计期末考试试卷及答案1
C语言程序设计期末考试试卷及答案1------------------------------------------作者------------------------------------------日期一、单项选择题 ♉♉♉♉♉♉是合法的用户自定义标识符。
✌、 ♌♌ 、♐●☐♋♦ 、♐❒ 、 ♉♓♦♦ 若变量已正确定义并赋值,表达式♉♉♉♉♉♉不符合 语言语法。
✌、♋✉♌♍ 、 、 ♌ 、♋♌♍ ♉♉♉♉♉是不正确的字符常量。
✌、 ⏹ 、 、✂♋✂ 、 在 程序中,用♉♉♉♉♉表示逻辑值“真”。
✌、 、非 的数 、非 的数 、 大于 的数 ♉♉♉♉♉♉把⌧、⍓定义成♐●☐♋♦类型变量,并赋同一初值。
✌、♐●☐♋♦ ⌧ ⍓ 、♐●☐♋♦ ⌧ ⍓✉、♐●☐♋♦ ⌧ ⍓⌧ 、♐●☐♋♦ ⌧⍓ 若变量已正确定义,表达式♉♉♉♉♉♉的值不是 。
✌、 、 、♋ 、 ♈ 若变量已正确定义,语句“♓♐☎♋♌✆ ♏●♦♏ ”和♉♉♉♉♉♉等价。
✌、 ☎♋♌✆✍ 、 ♋♌、 ♋♌ 、♋♌ ✍ ♉♉♉♉♉,则♋和♌的值都是 。
♦♍♋⏹♐☎✂♋♎ ♌♎✂♋ ♌✆;✌、 、 、♋ ♌ 、♋ ♌ 下列程序的输出结果是♉♉♉♉♉。
♐◆⏹☎♓⏹♦ ♋ ♓⏹♦ ♌ ♓⏹♦ ♍✆♍ ♋✉♌ ❝❖☐♓♎ ❍♋♓⏹☎ ✆♓⏹♦ ♍♐◆⏹☎♍✆☐❒♓⏹♦♐☎❾♎⏹❾♍✆❝✌、 、 、 、无法确定 在 程序中,若对函数类型未加说明,则函数的隐含类型为♉♉✌♉♉♉。
C语言程序设计期末考试试题(含答案)
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( B)A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是(D )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由(B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是(B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为(C )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是(D )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( B) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是(B )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( A)#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,以下程序的执行结果是( D)#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( C)A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( D) 。
c语言期末试题及答案
c语言期末试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义函数?A. classB. structC. functionD. void2. 下列哪个不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()3. 以下哪个选项是正确的C语言数组声明方式?A. int numbers[] = {1, 2, 3};B. int numbers = {1, 2, 3};C. int numbers[3] = {1, 2, 3};D. int numbers = 1, 2, 3;4. 在C语言中,哪个运算符用于取地址?A. *B. &C. +D. -5. 下列哪个是C语言中的合法赋值语句?A. int x = y = 5;B. int x = 5, y = 5;C. int x = (y = 5);D. int x = y = 5;6. 在C语言中,哪个关键字用于定义一个指针?A. refB. ptrC. pointerD. int*7. 下列哪个不是C语言的控制语句?A. ifB. switchC. whileD. loop8. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncat()D. strncpy()9. 下列哪个是C语言中正确的递归函数调用?A. void func() { func(); }B. void func() { if (condition) func(); }C. void func() { func(1); }D. void func(int x) { if (x > 0) func(x - 1); }10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:1-5: DCBDA 6-10: DABCA二、简答题(每题5分,共20分)1. 简述C语言中指针和引用的区别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++模拟试卷(一)一、单项选择题(共20题,每题1分,共20分)1、下列关于C++标识符的命名不合法的是A. PadB. name_1C. A#bcD. _a122、若有以下类型标识符定义:()int x=2; char w='a'; float y=23.45f; double z=45.6712;则表达式w*x+y-z的结果类型是A. floatB. charC. intD. double3、若有int x=10,y=20,z=30; 则执行下面语句后,x的值是if(x>y)z=x;x=y;y=z;A. 10B. 20C. 30D. 04、循环语句whlie(int i=0 )i--;的循环次数是A. 0B. 1C. 5D. 无限5、一个函数无返回值时,应选择的说明符是A. staticB. externC. voidD. 无说明符6、对重载函数形参的描述中,错误的是A. 参数的个数可能不同B. 参数的类型可能不同C. 参数的顺序可能不同D. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是A. int N=5,b[N][N];B. int a[2]={{1},{3},{4},{5}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};8、下列给字符数组进行的初始化中,不正确的是A. char s1[]="abcd";B. char s2[3]={'x','y','\0'};C. char s3[]={'a','x','y','\0'};D. char s4[6]={"xyz","mnp"};9、通常的拷贝构造函数的参数是A.某个对象名 B.某个对象成员名C.某个对象的引用 D.某个对象的指针名10、关于构造函数特点的描述中,错误的是A. 定义构造函数必须指出类型B. 构造函数的名字与该类的类名相同C. 一个类中可定义0至多个构造函数D. 构造函数是一种成员函数11、下面程序的运行结果为#include <iostream.h>int add(int a,int b);void main(){extern int x,y;cout<<add(x,y)<<endl;}int x=20,y=5;int add(int a,int b){int s=a+b;return s;}A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是A. 常成员包含常数据成员和常成员函数两种B. 常数据成员必须是公有的C. 常数据成员要使用构造函数成员初始化列表进行初始化D. 常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友元函数的描述中,错误的是A. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend14、如果有int x,*p; float y,*q;则下面操作正确的是A.p=x B.p=qC.p=&x D.p=&y15、若有函数说明void fA(int m, int n); 和指针变量的定义 void (*p)(int,int);并且有p= fA 则下列操作不正确的是A.(*p)(3,4); B.p(3,4);C.fA(3,4); D.*p++;16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是A. 数组的长度B. 数组第一个元素的值C. 数组所有元素的值D. 数组第一个元素的地址17、对于动态分配内存空间描述正确的是A.使用new运算符分配的内存空间的长度必需是常量B.delete运算符可以释放动态的存储空间和静态的存储空间C.由new分配的内存空间是不连续的D.delete运算符只能释放由new分配的动态存储空间18、能够释放对象所占资源的是()A.析构函数 B.数据成员C.构造函数 D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字A.static B.frendC.virtual D.public20、在C++中串流类是在头文件strstrea.h中定义的,下列不属于串流类的是)A.strstream B.ostrstreamC.ofstream D.istrstream二、填空题(共9题16空,每空1分,共16分)1、函数重载时,编译系统会根据____ 或____ 来区分。
2、若有char a[80];则cin>>a表示从键盘上读入一个____ 到数组a中。
3、若希望用一个已有对象来构造另一个同类型的对象,可以使用____来实现。
4、静态成员属于____ ,而不属于____ ,它被同一个类的所有对象共享。
5、类的继承方式有____ 继承、____ 继承和____ 继承。
6、重载运算符的含义必须清楚,不能有____ 。
7、按照联编进行阶段的不同,联编方法可分为两种: ____ 和____ 。
8、当基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、____ 、____ 、参数类型以及参数的顺序都必须与基类中的原型完全相同。
9、C++的I/O是以的形式实现的,每个C++编译系统都带有一个面向对象的输入/输出软件包,这就是。
三、判断题(共10题,每题1分,共10分)1、C++语言支持封装性和继承性,不支持多态性。
2、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。
)3、字符串"sdfgh"的长度是5。
4、引用和指针都可作函数参数。
5、友元函数说明在类体内,它是一种成员函数。
6、友元类必须被说明为公有成员。
7、纯虚函数是在基类中说明的虚函数,它在该基类中没有定义具体的操作内容。
8、析构函数不能被继承。
9、运算符重载以后,其优先级和结合性都不能改变。
10、在C++中,函数名实际上是一个指针,它指向函数的入口。
四、分析程序,回答所提出的问题(16分)1、 #include <iostream.h>class B;class A{public:A(int i){ a=i; }friend int F(A &f1,B &f2);private:int a;};class B{public:B(int i){ b=i; }friend int F(A &f1,B &f2);private:int b;};int F(A &f1,B &f2){return (f1.a+f2.b)* (f1.a-f2.b);}void main(){A n1(10);B n2(8);cout<<F(n1,n2)<<endl;}① 写出程序的运行结果。
② 该程序中共有几个对象,分别属于哪个类? 为什么在程序的开头处通过语句class B; 对类B 进行声明?③ 程序中的哪两条语句会分别调用A、B的构造函数?写出这两个构造函数。
④ 函数F是什么函数?它的作用是什么?五、阅读程序,写出运行结果(共2题,第1题6分,第2题8分,共14分)1、 #include <iostream.h>int func(int a){int b=0;static int c=4;b++; c--;return(a+b+c);}void main( ){int a=2;for(int j=0;j<2;j++)cout<<func(a+j)<< " ";}输出结果为:2、 #include <iostream.h>class X{public:X(int i){ x=i; cout<<”int: ”<<i<<’,’<<”called\n”; }X(double i){ x=(int)i*2; cout<<” double: ”<<i<<’,’<<”called\n”; }~X(){ cout<<” ~X(): ”<<x<<’,’<<”called\n”; }private:int x;};void main(){int a=8;double b=11.0;X x1(55), x2(a*5);X x3=X(2*a);X x4=X(b);}输出结果为:六、编写程序(共2题,第1题10分,第2题14分,共24分)1、输入一组数据以-1作为结束标志,要求删除其它数据只保留能被2整除的数据并输出结果。
2、定义一个日期类Date,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期的成员函数。
模拟试卷(一)答案一、单项选择题1、C2、D3、B4、A5、C6、D7、D8、D9、C 10、A11、C 12、B 13、B 14、C 15、D 16、D 17、D 18、A 19、C 20、C二、填空题1、形参的类型形参的个数2、字符串3、拷贝构造函数4、类任何一个对象5、public(或公有) private(或私有) protected(或保护)6、二义性7、动态联编静态联编8、函数名参数个数9、字节流 I/O流类库三、判断题1、×2、×3、√4、√5、×6、×7、√8、√9、√ 10√四、分析程序,回答所提出的问题(平分标准:每问4分,共16分)① 36② n1 和 n2 两个对象,n1属于A类,n2属于B类。
因为B类的定义在A类后,而A类中要引用B类。
③ 语句A n1(10); 和语B n2(8);A类的构造函数:A(int i) { a=i; }B类的构造函数:B(int i) { b=i; }④ 函数F是友元函数。
它的作用是:提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间共享数据的机制。
(关键答出共享数据、或答出通过友元可以访问到封装与类A、B中的数据)五、阅读程序,写出运行结果1、输出结果为:6 62、输出结果为:int:55,calledint:40,calledint:16,calleddouble:11,called~x<>:22,called~x<>:16,called~x<>:40,called~x<>:50,called六、编写程序1、输入一组数据以-1作为结束标志,要求删除其它数据只保留能被2整除的数据,并输出结果。