期末C++
C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。
大学c期末考试题及答案

大学c期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 如果一个指针p被声明为int *p,那么*p表示什么?A. p指针的地址B. p指针所指向的值C. p指针的类型D. p指针的大小答案:B3. C语言中,哪个函数用于将一个长整型转换为字符串?A. atoi()B. atol()C. itoa()D. strtol()答案:C4. 下面哪个选项不是C语言标准输入输出库中的函数?A. printf()B. scanf()C. fprintf()D. strcpy()答案:D5. 在C语言中,以下哪个语句用于结束一个循环?A. breakB. continueC. returnD. exit答案:A6. C语言中,sizeof运算符的返回类型是什么?A. intB. longC. size_tD. double答案:C7. 在C语言中,以下哪个不是合法的数组初始化方式?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2};C. int arr[] = {};D. int arr[3] = 1, 2, 3;答案:D8. C语言中,字符串"Hello, World!"在内存中占用的字节数是多少(包括结尾的空字符'\0')?A. 12B. 13C. 14D. 15答案:B9. 下面哪个是C语言中的预处理指令?A. #includeB. returnC. continueD. default答案:A10. 在C语言中,以下哪个函数用于复制字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A二、填空题(每空3分,共30分)11. C语言中,用于声明函数的关键字是______。
大一c期末考试题及答案

大一c期末考试题及答案大一C语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,以下哪个选项不是运算符?A. +B. -C. %D. :答案:D4. 若有定义:int a=5, b=3;,则表达式a%b的值是多少?A. 2B. 1C. 0D. 3答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = {'h', 'e', 'l', 'l', 'o'};C. char str[6] = "hello";D. char str[] = "hello";答案:D7. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 下列哪个选项不是C语言中的数组?A. int a[5];B. int a[5] = {1, 2, 3, 4, 5};C. int a[] = {1, 2, 3};D. int a = {1, 2, 3};答案:D9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(int a);答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. printf()D. scanf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。
C语言程序设计期末复习

②doudb!le=
float
f &&
int
(i+1)
int
③dou4b.0le
int
*i
char
+ c double
【14】 A) double, double, double (或float)
B) int, double, char
✓C) int, int, double (或float) D) unsigned, unsigned, int
② 其他可打印(可显示)的字符,如汉字等自然语言 符号(作为字符串的内容)
[注意] C/C++语言是区分大小的语言 !
(详见P377 附录B)
8
zxl.xmu.2014
关键字
关键字/保留字 —— C语言程序中有特殊含义 的英文单词,主要用于构成语句、定义存储类 型和数据类型。
✓ C语言中仅有37个关键字
else continue;
printf("%4d",n); }
break; 仅输出: 100 }
输出【:131】00A1)01fo1r0(3n=1100401;0(n6%1037)&…&…n<=200; n++) printf("%4d",n); B) for (n=100; (n%3)||n<=2仅00输; n出++:) p1ri0n0tf1("0%1 4d",n);
非法字符举例:M.D.John,$123,1AB,d e
11
zxl@xmu
运算符(共34种,详见P378《附录D》)
• 目/元——运算时所需运算对象(操 作数)的个数。
C期末测试考试1

else y+=x;
printf("%f\n",y);
}
49、以下程序的输出结果是:sum=45换行
main()
{ int i,sum;
for (i=1,sum=0;i<10;i++)
int s,*p;
p=&a[0][0];
s=(*(p+2)+(*(p+3))
27、执行以下程序段后输出结果为 1,0,1
main()
{ int a=0,b=0,c=0;
C=1;
printf(“%d,%d,%d”,a,b,c);}
28.以下程序运行后的输出结果是 D换行
44、输出一个实数,要求小数、整数部分各4位,靠右对齐,则应用的格式符号为:
“%9.4f” 。
45、逻辑运算符的优先级是: 逻辑非 最高,逻辑与次之,逻辑或最低。
46、设x=10,y=5,z=15,执行下面的一段程序后,z的结果为:( 5 )
二、填空题(每题2分,共20分)
21.C语言中,字符(char)型数据在内存中的存储形式是: ASCII码
22、C语言中,负数在内存中的存储形式是: 补码
23、C语言中,正数的原码等于反码等于:补码
b=*p; *p=a[2]=3
printf(“%d\n”,b);}
A.2 B.3 C.4 D.5
16、下面四个选项中,不是C语言整型常量的是 。
A、01 B、0x11
C、081 D、-32768
12.设有定义:int n=10,*p=&n,*q;则以下选项中正确的赋值语句是 [ ]
南昌大学c期末考试题及答案

南昌大学c期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {0};D. 所有选项答案:D3. C语言中,哪个函数用于将字符串转换成浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C5. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. all of the above答案:D6. 下列哪个选项是C语言中的合法变量名?A. _myVarB. 2myVarC. my$varD. my var答案:A7. C语言中,哪个函数用于输出格式化的字符串到标准输出?A. printfB. scanfC. sprintfD. fprintf答案:A8. 下列哪个选项是C语言中的正确注释?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. all of the above答案:B9. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlenB. strlengthC. strlengD. length答案:A10. 下列哪个选项是C语言中的正确循环语句?A. forB. whileC. do-whileD. 所有选项答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明包括变量的____和____。
答案:类型名字2. C语言中,用于定义指针的关键字是____。
C语言期末考试试题
C语言试题1一填空题(15分)1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。
2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。
3.下面程序段的输出结果是()。
int a=1234; a=a&0377; printf(“%d %o\n”,a,a);4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。
char a[3];5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。
#define PR 80#define PP PR+4036.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。
7.在C文件中,数据存在的两种代码形式是()和()。
8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。
9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。
三选择题(20分)1.设int a=12; 表达式a+=a-=a*=a的值是()。
A 12B 144C 0D 1322.以下程序的输出结果是()。
main( ){ int a=011;printf(“%d\n”,++a);}A 12B 11C 10D 93.以下程序的输出结果是()。
#define ADD(x) (x)+(x)main(){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf(“d=%d”,d);}A d=70B d=140C d=280D d=804.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。
A p=“abcd”;B a=“abcd”;C *p=“abcd”;D *a=“abcd”;5.若k为整形,则while循环执行()次。
k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);A 10B 9C 0D 16.数组名作为实参传递给形参时,数组名被处理为()。
c期末考试题及答案
c期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C2. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的循环语句?A. forB. whileC. do-whileD. switch答案:D4. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. C语言中,用于定义一个函数的关键字是?A. functionB. defineC. defD. void答案:D6. 下列哪个选项是C语言中的文件操作函数?A. printfB. scanfC. fopenD. fclose答案:C7. 在C语言中,哪个关键字用于声明一个全局变量?A. externB. staticC. autoD. register答案:A8. 下列哪个选项不是C语言中的逻辑运算符?A. &&B. ||C. =D. !答案:C9. C语言中,用于数组定义的关键字是?A. arrayB. listC. vectorD. []答案:D10. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putsD. getchar答案:C二、填空题(每题3分,共15分)1. 在C语言中,______关键字用于定义一个指针。
答案:*2. C语言中,______函数用于计算字符串的长度。
答案:strlen3. ______关键字用于在C语言中定义一个二维数组。
答案:[ ][ ]4. C语言中,______函数用于将字符串从源字符串复制到目标字符串。
答案:strcpy5. 在C语言中,______运算符用于比较两个值是否相等。
答案:==三、简答题(每题5分,共10分)1. 简述C语言中函数的调用过程。
c语言期末考试题及答案及解析
c语言期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. All of the above答案:D解析:在C语言中,标准输入输出库函数包括printf()、scanf()和getchar()等,它们都用于输入输出操作。
2. 以下哪个不是C语言的关键字?A. intB. floatC. doubleD. string答案:D解析:int、float和double都是C语言的基本数据类型关键字,而string不是C语言的关键字,它是C++中的一个类。
3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C解析:在C语言中,数组的声明可以是int arr[10];也可以是int [10] arr;,两者都是正确的声明方式。
4. 下列哪个是正确的C语言函数定义?A. int myFunction(int x, int y) { /* ... */ }B. void myFunction(int x, int y) { /* ... */ }C. Both A and BD. None of the above答案:C解析:在C语言中,函数定义可以返回int类型,也可以是void类型,表示没有返回值。
5. 以下哪个是正确的C语言循环结构?A. forB. whileC. do-whileD. All of the above答案:D解析:C语言支持多种循环结构,包括for循环、while循环和do-while循环。
6. 以下哪个是C语言的位运算符?A. &&B. ||C. &D. All of the above答案:C解析:&是C语言的位运算符之一,用于按位与操作。
C语言 期末复习
第一章
1)合法的用户标识符由字母,数字,下划线组成。并且 第一个必须为字母或则是下划线。关键字不可以作为用户 标识符号。main define scanf printf 都是关键字。 If是可以做为用户标识符。因为If中的第一个字母大写了 ,所以不是关键字。 2)实型数据的合法形式:
2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。
一个=表赋值,==表判断
• printf输出语句(“ %d%f%ld%lf ”,a,b,c,d);
int float long double
•}
函数调用
• int ss(int a,int b[],int *q) •{
•} • main() •{ • int x,s[10],y; • ss(x,s,&y);
B. 3
C. 4
D. 6
• 69.若已定义 int x=-16,y=-12,z; 语句z=x<=y; 运行后z的值为(
)。
B
A..t.
B. 1
C. .f.
D. 0
• 71. 若定义 int a=2,b=3; 则表达式 !a||b 的值为( )。
A. 0
B. 1
C. 2
D. 3 B
•
73. 下列表达式( 数。
)。 B
A.10
B. 0
C. 34
D. 24
• 46.若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b 的值为( C )。
A. 0
B. 3
C. 1
D. 2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++语言程序设计》实验报告课题名称:专业:班级:姓名:学号:指导老师:日期:仰恩大学电子信息工程系一、程序设计目的(1)复习c++中的基本知识点及各种语句的使用;(2)加深对c++语言程序的理解;(3)熟悉类的使用,理解其是面向对象的程序设计;(4)熟悉友元的用法及它的优点与缺点;(5)熟练使用数组进行函数运算;( 6 ) 熟悉构造函数的使用。
二、开发环境(1)系统环境:Windows XP(2)编程环境:visual studio 2008三、实现过程(1)编程基础知识介绍一个C++源程序可以由一个或多个源文件组成,其中每个源文件可由一个或多个函数组成,但是一个源程序不论由多少个文件组成,都只能有一个main 函数。
源程序中可以预编译头文件(# include<iostream>)。
C++源程序可以有很多种语句,其中包括:①选择控制语言(if条件语句,switch语句);②循环语句(for循环语句,do-while循环语句,循环嵌套);③转向语句(break)。
数组是具有相同类型变量的集合,包括一维数组、二维数组、多维数组,使用数组能更好更有效率地解决程序的处理问题。
类是面向对象程序设计的基础与核心。
我们可以声明属于某个类的变量,这种变量称为类的对象在C++中,类和对象的关系实际上是数据类型和具体变量的关系。
在程序中可以通过类定义提供的函数访问该类对象的数据。
构造函数是在类中声明的一种特殊的成员函数,作用是在对象被创建时使用特定的值构造对象,将对象初始化为一个特定的状态。
构造函数的名字必须与其所属的类名相同,并声明为共有成员函数,且没有任何类型的返回值。
构造函数作为类的一个成员函数,具有一般成员函数所有的特性,它可以访问类的所有数据成员,可以是内联函数,可以带有参数,还可以带默认的形参值。
此次实验主要应用了:面向对象的程序设计,构造函数,友元函数,if-else-if循环语句、switch选择语句、for循环语句、do-while循环语句以及数组,参数的传递。
(2)程序的详细设计#include<iostream>using namespace std;int number;class student //学生信息{protected:int id;double chengji[6];double sum;double ava;public:void input();void ava1();void ava2();friend class operate;};void student::input() //学生信息输入{cout<<"学生id:";cin>>id;cout<<"各科成绩:数学,语文,英语,物理,化学,政治"<<endl;for(int j=0;j<6;j++)cin>>chengji[j];}void student::ava1() //学生总分平均分计算{int j;double s=0;for(j=0;j<6;j++){ s+=chengji[j]; }sum=s;ava=s/6;}void student::ava2() //各门科目总分平均分计算{double sum1[6],ava3[6];for(int i=0;i<6;i++){ for(int j=0;j<number;j++){ sum1[i]+=chengji[i] ;}ava3[i]=sum1[i]/number;}}class operate{public:void sort(student stu[]);void count(student stu[]);void count1(student stu[]);void count2(student stu[]);void search(student stu[],int ID);};void operate::sort(student stu[]) //按降序排列学生成绩表{ int i,j;cout<<"学号\t"<<" 数学\t"<<"语文\t"<<"英语\t"<<"物理\t"<<"化学\t"<<"政治\t"<<"总分\t"<<"均分\t"<<endl;student temp;for(i=0;i<number;i++){for(j=i+1;j<number;j++){if(stu[i].sum<stu[j].sum){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}}cout<<stu[i].id<<'\t';for(int j=0;j<6;j++)cout<<stu[i].chengji[j]<<'\t';cout<<stu[i].sum<<'\t'<<stu[i].ava<<endl;}}void operate::count(student stu[]) //统计各科各分数段学生人数{ char *kc[6]={{"数学"},{"语文"},{"英语"},{"物理"},{"化学"},{"政治"}};for(int i=0;i<6;i++){ int a=0,b=0,c=0,d=0,f=0;for(int j=0;j<number;j++){ if(stu[j].chengji[i]>=90)a++;else if(stu[j].chengji[i]>=80 && stu[j].chengji[i]<90)b++;else if(stu[j].chengji[i]>=70 && stu[j].chengji[i]<80)c++;else if(stu[j].chengji[i]>=60 && stu[j].chengji[i]<70)d++;else f++;}cout<<kc[i]<<endl;cout<<"90-100分"<<a<<"人"<<"\t80-90分"<<b<<"人"<<"\t70-80分"<<c<<"人"<<"\t60-70分"<<d<<"人"<<"\t不及格"<<f<<"人\n";}cout<<endl;}void operate::count1(student stu[])//统计语数英三门分数均>90人数{ int k=0;cout<<"数学、语文、英语三门主课均>90分的人数统计如下:"<<endl;cout<<"学号\t"<<" 数学\t"<<"语文\t"<<"英语\t"<<"物理\t"<<"化学\t"<<"政治\t"<<"总分\t"<<"均分\t"<<endl;for(int i=0;i<number;i++){if(stu[i].chengji[0]>90&&stu[i].chengji[1]>90&&stu[i].chengji[2]>90){k++;cout<<stu[i].id<<'\t';for(int j=0;j<6;j++)cout<<stu[i].chengji[j]<<'\t';cout<<stu[i].sum<<'\t'<<stu[i].ava<<endl;}}cout<<endl;cout<<"数学、语文、英语三门主课均>90分有"<<k<<"人"<<endl;cout<<endl;}void operate::count2(student stu[]) //统计语数英三门>85,<90且均分>=90人数{ int s=0;cout<<"数学、语文、英语三门主课均>85分,,<90,且均分>=90的人数统计如下:"<<endl;cout<<"学号\t"<<" 数学\t"<<"语文\t"<<"英语\t"<<"物理\t"<<"化学\t"<<"政治\t"<<"总分\t"<<"均分\t"<<endl;for(int i=0;i<number;i++){if(stu[i].chengji[0]<90&&stu[i].chengji[1]<90&&stu[i].chengji[2]<90){if(stu[i].chengji[0]>85&&stu[i].chengji[1]>85&&stu[i].chengji[2]>85){if(stu[i].ava>=90){s++;cout<<stu[i].id<<'\t';for(int j=0;j<6;j++)cout<<stu[i].chengji[j]<<'\t';cout<<stu[i].sum<<'\t'<<stu[i].ava<<endl;}}}}cout<<endl;cout<<"数学、语文、英语三门主课均>85分,,<90,且均分>=90有"<<s<<"人"<<endl;cout<<endl;}void operate::search (student stu[],int ID)//查找对应学号学生成绩信息{ for(int i=0;i<number;i++){if(stu[i].id==ID){ cout<<"学号\t"<<" 数学\t"<<"语文\t"<<"英语\t"<<"物理\t"<<"化学\t"<<"政治\t"<<"总分\t"<<"均分"<<endl;cout<<stu[i].id<<'\t';for(int j=0;j<6;j++)cout<<stu[i].chengji[j]<<'\t';cout<<stu[i].sum<<'\t'<<stu[i].ava<<endl;cout<<endl;}}}void main ( ){ int choose,ID;student stu[2];operate pt;cout<<"*************************************************************"<<endl;cout<<"> <"<<endl;cout<<"> <"<<endl;cout<<"> 欢迎进入学生信息管理系统<"<<endl;cout<<"> <"<<endl;cout<<"> <"<<endl;cout<<"*************************************************************"<<endl;cout<<endl;cout<<"请输入学生人数"<<endl;cin>>number;for(int i=0;i<number;i++){cout<<"请存入学生信息:"<<endl;stu[i].input();stu[i].ava1();stu[i].ava2();}pt.sort(stu);pt.count(stu);pt.count1(stu);pt.count2(stu);do{cout<<"请选择操作选项:.查找学生信息2.退出"<<endl;cin>>choose;switch (choose){case 1:cout<<"请输入学号:";cin>>ID;pt.search(stu,ID);break;case 2:cout<<endl;break;}}while(choose!=2);}(3) 测试用例四、实验总结运用类实现了面向对象的程序设计。