华中科技大学级C语言程序设计考试经典试卷复习资料

合集下载

华中科技大学计算机学院2015年C语言程序设计试卷

华中科技大学计算机学院2015年C语言程序设计试卷

计算机学院2014-2015学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2015年 6 月 25 日专业: 班级: 学号: 姓名:题号一二三四五六七总分核对人题分10 10 10 10 20 20 20 100得分注意:试卷后面附有运算符的优先级和结合性表。

一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项得分评卷人是正确的,请选择正确的选项并填写到括号内,选择正确得分。

本大题共10小题,每小题1分,共10分。

)1、已知8位补码位是11111110,其原值是。

【】A、-2B、254C、-1D、-1262、下列是标识符。

【】A、B、_IPHONE_6_0C、sum[i]D、sin(x)3、下列逻辑表达式中与其它3个不等价。

其中a为int型变量。

【】A、!aB、a==0C、a==1D、!(a>0||a<0)4、下列是非法常量。

【】A、0xff00B、.1415C、'\a'D、051885、设a和b为整型变量且a值为5,表达式的值不为2。

【】A、b=a/2B、b=6-(--a)C、b=(a-3)%2D、b=a?a-3:16、适用于浮点类型数的运算是。

【】A、 |B、%C、 &D、 <7、执行语句putchar('R'+'6'-'4');的输出结果是。

【】A、RB、SC、TD、 U8、在工程中引用其它文件定义的全局变量,需要使用存储类型。

【】A、autoB、externC、staticD、register9、下列是变量a的定义,sizeof(a)为9的是。

【】A、char a[]=”c:\\file\\”B、char a[]=”123456789”C、int a[9]D、float a[9]10、下列给出的程序片段,其中while循环体执行的次数是。

【】i=1,j=0; while(i+j<=10) if(i>j)j++;else i++;A、5B、9C、 10D、11二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。

华科 C++期末考试试卷答案

华科 C++期末考试试卷答案

2008-2009学年度第二学期华中科技大学《C++语言程序设计》试卷(A)(考试时间:150分钟考试方式:闭卷)所有答案必须写在答题纸上一、单项选择题 (30小题,每小题1分,共30分)1、C++程序中的语句必须以( B )结束A 冒号B 分号C 空格D 花括号2、下列选项中,( A )不是分隔符A 标识符B ;C :D ( )3、执行语句int a = 10, b ;int & pa = a , & pb =b ;后,下列正确的语句是( B)A &pb = a;B pb = pa;C &pb = &pa;D *pb = *pa;4、设I=1,J=2,则表达式 I++ +J的值为( C )A1B2C3D45、执行下列语句后,int x , y ;x = y = 1 ; ++x || ++y ;y的值是( C)A不确定B0C1D26、逗号表达式(x = 4 * 5 , x * 5 ), x + 25的值为( D )A 25B 20C 100D 457、已知int i, x, y;在下列选项中错误的是(C)A if ( x && y ) i ++;B if ( x == y) i ――;C if ( xy ) i ――;D if ( x + y ) i++;8、i=2,执行下列语句后的值为( B )switch ( i ){ case 1: i++;case 2: i――;case 3: ++i; break;case 4: ――i;default : i++;}A 1B 2C 3D 49、已知int i = 3;下面do _ while语句执行时循环次数为(B)do { i-- ; cout <<i << endl; } while ( i != 1);A1B2C3D无限10、以下为死循环的程序段是( B )A for ( int x = 0 ; x < 3 ; ) { x++ ; } ;B int k = 0;do { ++k ; } while ( k>=0 ) ;C int a=5; while ( a ) { a―― ; } ;D int i=3 ; for ( ; i ;i――) ;11、以下正确的函数原型为( D )A f (int x ; int y);B void (x , y);C void (int x , y);D void f (int , int);12、有函数原型 void fun2 (int * ), 下面选项中,正确的调用是( C )A double x = 2.17; fun2 (&x);B int a = 15; fun2 (a*3.14);C int b = 100; fun2 (& b);D fun2 (256);13、有声明int fun4 (int); int (* pf) (int) = fun4;下面选项正确的是( B )A int a = 15; int n = fun4 (&a);B int a = 15; cout<<pf (a*3.14);C cout<<(* pf) (256);D cout<<*pf (256);14、函数参数的默认值不允许为(C,D)A 全局常量B 全局变量C 局部变量D 函数调用15、下列的描述中( B )是错误的。

华科2013年C语言程序设计试卷-A卷及参考答案(正式用卷)

华科2013年C语言程序设计试卷-A卷及参考答案(正式用卷)

计算机学院2012-2013学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2013年 7 月 5 日专业班级学号学生姓名题号一二三四五六七总分核对人题分10 10 10 10 20 20 20 100得分注意:试卷后面附有运算符的优先级和结合性表。

一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项得分评卷人是正确的,请选择正确的选项并填写到括号内,选择正确得分。

本大题共10小题,每小题1分,共10分。

)1、以下为正确的标识符是【】A、forB、u.3C、3cD、DO2、以下为合法的整型常量是【】A、-1UB、01111001BC、ffffD、01383、下列数据中属于字符串常量的是【】A、'a'B、"a"b"c"C、'123'D、"a\"b\"c"4、表达式-a+++b中记号(token)的个数是【】A、3个B、4个C、5个D、6个5、 -3的16位补码是【】A、0xfffdB、0x1011C、0x7ffdD、0x00036、以下为正确的转义字符是【】A、'\'B、'\\'C、'\0x12'D、'\0f1'7、设有声明:enum {U,V,W=0,X,Y=0,Z} a; 则值为1的枚举常量的个数是【】A、1个B、2个C、3个D、4个8、设有声明: 【】union U{ long a; short b; char c; char s[20];} v={0x01020304},*p=&v;则下列选项正确的是A、printf("%d\n",sizeof(v))输出4B、printf("%d\n",p->s[0])输出4C、printf("%d\n",v.c)输出1D、printf("%x\n",v.b)输出1029、设有声明和语句:FILE *fp; fp=fopen("c:\\abc.dat","r+"); 【】则下列选项正确的是A、打开文件的文件名为\abc.datB、打开的是二进制文件C、打开的是文本文件D、打开的文件只能进行读操作10、设有如下代码片段:【】int a[]={1,2,3,4,5},i;char *p=(char *)a;for(i=0;i<3;i++)printf("%d ",*((p+=sizeof(int))-sizeof(int)));printf("\n");则该代码片段的输出结果是A、1 2 3 4 5B、1 2 3C、1 1 1D、2 3 4二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。

大学C语言程序设计试题含答案

大学C语言程序设计试题含答案

大学C语言程序设计试题含答案一、简答题1. 请简要解释什么是C语言程序设计。

C语言程序设计是一种计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代早期开发。

它强调的是效率和可移植性,被广泛应用于操作系统、嵌入式系统和其他需要高效执行的应用程序开发。

2. C语言的基本数据类型有哪些?请列举并简要说明其特点。

C语言的基本数据类型包括:- int:用于表示整数,通常占用4个字节内存,可以表示范围较大的整数;- char:用于表示字符,占用1个字节内存,常用于存储ASCII码;- float:用于表示单精度浮点数,占用4个字节内存,可用于表示小数;- double:用于表示双精度浮点数,占用8个字节内存,可用于表示更大范围和更高精度的小数;- void:表示无类型,常用于函数返回类型。

3. 请解释C语言中的变量和常量的概念,并简要说明它们的区别。

变量是用于存储和表示数据的一种方式,可以根据需要改变其值。

在C语言中,变量声明需要指定其类型,并可以为变量命名,并通过赋值来存储数据。

常量是固定不变的值,不能改变其值。

在C语言中,常量可以是字面值常量(直接指定数值或字符)、符号常量(使用预处理器#define 指令定义的常量)或常量表达式(由常量组成的表达式)。

常量在程序执行过程中保持不变。

二、编程题1. 编写一个程序,输入一个整数,判断该数字是奇数还是偶数,并输出相应的提示信息。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。

\n", num);} else {printf("%d是奇数。

\n", num);}return 0;}```2. 编写一个程序,计算并输出1到100之间所有奇数的和。

华中科技大学级C语言程序设计考试经典试卷复习资料

华中科技大学级C语言程序设计考试经典试卷复习资料

华中科技大学10级《C语言程序设计》考试试卷课程性质:必修使用范围:本科考试时间:年月日考试方式:闭卷学号______________专业_______班级____姓名___________成绩____一、选择题(每小题2分,共20分)( A )(1)若x、y、j和k都是int型变量,则计算表达式x=( k=32,j=6, i=4)后,x的值为。

A)4 B)16 C)32 D)52( B )(2)C语言中标识符只能由字母、数字和下划线组成,且第一个字符。

A)必须为字母 B)必须为字母或下划线C)必须为下划线 D)可以是字母、数字和下划线中任一种字符( D )(3)下面四个选项中,均是正确的数值常量或字符常量的选项是。

A)0.0 0f 8.9e '&' B)"a" 3.9e-2.5 1e1 '\"'C)'3' 011 0xFF00 0a D)+001 0xabcd 2e2 50( B )(4)已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是。

A)a=a*3=2 B)a+=a-=(b=4)*(a=3)C)x+y=-3*a D)y=float(i)( A )(5)若以下变量均是整型,且num=sum=5;则计算表达式num++,sum++,++num后num的值为。

A)7 B)8 C)9 D)10( B )(6)在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A)整型常量 B)整型常量或整型表达式C)整型表达式 D)任何类型的表达式( C )(7)以下能对一维数组a进行正确初始化的语句是。

A)int a[10]={0,0,0,0,0} B)int a[10]={ };C)int a[ ]={0}; D)int a[10]={10*1};/*各元素值为1*/( B )(8)下面程序(注:每行程序前面的数字表示行号)。

华中科技大学标准C语言程序设计上机试题、答案及报告格式

华中科技大学标准C语言程序设计上机试题、答案及报告格式

《标准C语言程序设计》上机报告实验七指针及函数结构体初步程序设计专业:班级:学号:姓名:完成日期:1一、实验目的1.进一步理解指针的概念,掌握指针变量间接地址访问的本质;2.掌握利用指向数组的指针变量表示一维数组元素及元素地址的方法;3.掌握利用指向二维数组的行指针变量表示二维数组元素及其地址的方法;4.掌握字符串的指针和指向字符串的指针变量;5.掌握指针数组和二级指针;6.熟悉通过动态内存分配实现动态数组,并体会指针在其中的作用。

7.理解函数定义、原型和调用,掌握函数参数的传递(传值、传指针和传引用)二、实验内容及要求(鼓励一题多解)1.深入理解《上机实践训练教程》2.6实验六案例示范和有关概念文字描述中的知识点,给出你的理解。

定义指针时一定要给指针分配好应有的类型和内存空间,防止出现野指针,造成程序不能运行甚至系统崩溃。

数组名不能作为左值,它实际上是一个常量指针,不能通过str=“comrade”给字符数组str赋值。

2.输入每个学生的姓名和线性代数、通信原理和C语言课程成绩,统计每人的平均值,并按平均值降序排列,输出排列后的名次、姓名、课程名(成绩)和平均值。

(注:平均值相同者按姓名的字母表顺序排列)(要求用结构体数据类型实现)#include <stdio.h>#include <math.h>#include <stdlib.h>#define N 3struct student{int rank;char name[20];double score[3];double aver;};void input(struct student *p,int n);void sort(struct student *p,int n);double average (struct student *p,int n);void output(struct student *p,int n,double aver);void main(){struct student stu[N];double aver;input(stu,N);sort(stu,N);aver=average(stu,N);output(stu,N,aver);}void input(struct student *p,int n){int i,j;double a;char str[20];for(i=0;i<n;i++,p++){printf("请输入考生姓名:\n");gets(p->name);printf("请依次输入学生线性代数、通信原理、c语言分数:\n");for(a=0,j=0;j<3;j++){gets(str);p->score[j]=atof(str);a+=p->score[j];}p->aver=a/3;}return;}void sort(struct student *p,int n){struct student temp;int i,j;for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(p[j].aver<p[j+1].aver){temp=p[j];p[j]=p[j+1];p[j+1]=temp;}}}}double average(struct student *p,int n){int i;double temp;for(i=0,temp=0;i<n;i++)temp=temp+p[i].aver;return temp/n;}void output(struct student *p,int n,double aver){int i;printf("姓名线性代数通信原理c语言平均分\n");printf("-----------------------------------------\n");for(i=0;i<n;i++){printf("%-10s%8.2lf%8.2lf%8.2lf%8.2lf\n",p[i].name,p[i].score[0],p[i].score[1],p[i].score[2],p[i].aver);}}运行结果:3.利用指向指针的指针方法对N个整数排序并输出。

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2.2 C语言中,用于输入数据的库函数是______。

答案:scanf2.3 C语言中,用于输出数据的库函数是______。

答案:printf3. 简答题3.1 简述C语言中数组的定义方式。

答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。

例如,定义一个整型数组可以写作:int arrayName[arraySize];。

3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

定义指针的示例:int *ptr; 这里ptr是一个整型指针。

4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。

华科 C++期末考试试卷答案

华科 C++期末考试试卷答案

2008-2009学年度第二学期华中科技大学《C++语言程序设计》试卷(A)(考试时间:150分钟考试方式:闭卷)所有答案必须写在答题纸上一、单项选择题 (30小题,每小题1分,共30分)1、C++程序中的语句必须以( B )结束A 冒号B 分号C 空格D 花括号2、下列选项中,( A )不是分隔符A 标识符B ;C :D ( )3、执行语句int a = 10, b ;int & pa = a , & pb =b ;后,下列正确的语句是( B)A &pb = a;B pb = pa;C &pb = &pa;D *pb = *pa;4、设I=1,J=2,则表达式 I++ +J的值为( C )A1B2C3D45、执行下列语句后,int x , y ;x = y = 1 ; ++x || ++y ;y的值是( C)A不确定B0C1D26、逗号表达式(x = 4 * 5 , x * 5 ), x + 25的值为( D )A 25B 20C 100D 457、已知int i, x, y;在下列选项中错误的是(C)A if ( x && y ) i ++;B if ( x == y) i ――;C if ( xy ) i ――;D if ( x + y ) i++;8、i=2,执行下列语句后的值为( B )switch ( i ){ case 1: i++;case 2: i――;case 3: ++i; break;case 4: ――i;default : i++;}A 1B 2C 3D 49、已知int i = 3;下面do _ while语句执行时循环次数为(B)do { i-- ; cout <<i << endl; } while ( i != 1);A1B2C3D无限10、以下为死循环的程序段是( B )A for ( int x = 0 ; x < 3 ; ) { x++ ; } ;B int k = 0;do { ++k ; } while ( k>=0 ) ;C int a=5; while ( a ) { a―― ; } ;D int i=3 ; for ( ; i ;i――) ;11、以下正确的函数原型为( D )A f (int x ; int y);B void (x , y);C void (int x , y);D void f (int , int);12、有函数原型 void fun2 (int * ), 下面选项中,正确的调用是( C )A double x = 2.17; fun2 (&x);B int a = 15; fun2 (a*3.14);C int b = 100; fun2 (& b);D fun2 (256);13、有声明int fun4 (int); int (* pf) (int) = fun4;下面选项正确的是( B )A int a = 15; int n = fun4 (&a);B int a = 15; cout<<pf (a*3.14);C cout<<(* pf) (256);D cout<<*pf (256);14、函数参数的默认值不允许为(C,D)A 全局常量B 全局变量C 局部变量D 函数调用15、下列的描述中( B )是错误的。

大学c语言试题题库及答案

大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。

答案:+2. C语言中的________关键字用于声明一个无返回值的函数。

华中科技大学 2010级信息学院C语言程序设计考试试题A

华中科技大学 2010级信息学院C语言程序设计考试试题A

级信息学院《C 语言程序设计》考试试题(A ) 一、判断下列语句或程序段的对错。

(“×”表示错,“√”表示对)(10分) (1) int x=0,y=x; ( ) (2) #define SIZE 10 ( ) int a[SIZE /2][SIZE]; (3) char *str ; str ="c\test"; ( ) (4) register int n; scanf(“%d ”,&n); ( ) (5) int x ,*px=&x ; float *p=px; ( ) (6) int (*pa)[8],a[6][8]; pa=*a++; ( ) (7) int x ,*px ; *px=&x; ( ) (8) int **pp,a[6][8]; pp=a; ( ) (9) float xyz.1=3; ( ) (10) int x =‘\x78’; ( ) 二、计算下列表达式的值(10分) 设unsigned int a=7, b=17, c=5, d=3; float f; (11) f =c/d; ( ) (12) (!(a+b)+c-1) | | (b+c/3) ( ) (13) (a&b)^( ~c | ~d) ( ) (14) f= (a-b>0 ? c/d : c%d ) ; ( ) (15) b=a++ , a%3 ( ) 三、程序改错(10分) 要求:不得改变程序框架,不得重写程序,无需文字说明,直接在代码上添加、删除和修改。

(16) 用指针的方法实现对输入的3个整数按从小到大的顺序输出显示 #include <stdio.h> void main(void) { int a,b,c;int *pa=&a,*pb=&b,*pc=&c;scanf("%d%d%d",&pa,&pb,&pc);院系________________班级________________姓名________________学号________________成绩________________if(*pa>*pb) swap( pa , pb);if(*pb>*pc) swap( pb , pc);printf("%d\t%d\t%d\n",*pa,*pb,*pc);}void swap(int *px,int *py){int *temp;temp =px;px =py;py =temp;}(17)统计N个字符串中大写字母和数字字符的个数#include <stdio.h>#define N 5void main(void){char string[N][80];char i;int CapitalCount , NumCount;for(i=1;i<=N;i++)scanf("%s",&string[i]);for(i=0;i<=N;i++)CapitalCount +=count(string[i],&NumCount);printf("CapitalCount=%d,NumCount=%d\n",CapitalCount,NumCount); }count(char *pstr , int *result){int temp,i;*result = temp=0;for(i=0 ; i<80 ; i++){if(pstr[i]>='A'&&pstr[i]<='Z')temp ++;if(pstr[i]>=0&&pstr[i]<=9)*result ++;}return temp;}四、程序填空(10分)(18)找N个字符串中最大字符串和最小字符串#include <stdio.h>#include <string.h>#define N 5char *GetMaxMinString( );char *GetMaxMinString( ){int a;char *max;;for(a=1;a<num;a++){if( )max =string[a];if( )*min =string[a];}return max;}void main(void){char string[N][80],*pmax,*pmin;int i;for(i=0;i<N;i++)gets(string[i]);pmax =GetMaxMinString( );printf("Max string is %s,Min string is %s\n",pmax,pmin);}(19)以下程序用二维数组保存多个字符串,用二级指针处理多个字符串的排序。

大学C语言程序设计考试试题及答案3套

大学C语言程序设计考试试题及答案3套

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,9 10、巳知字母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程序设计考试题

1.c++系统预定了4个用于标准数据流的对象,下;正确答案:【D】分值:【1】;2.设有说明:charw;intx;floaty;正确答案:【D】分值:【1】;3.下列对析构函数的描述中,正确的是(____);C.析构函数的定义只能在类体内D.析构函数可以有;正确答案:【A】分值:【1】;4.下列定义数组的语句中正确CPP程序设计模拟考试 1--第2套试卷1.c++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是(____) A.cout B.cin C.cerr D.cset正确答案:【D】2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(____) A.float B.char C.int D.double正确答案:【D】分值:【1】3.下列对析构函数的描述中,正确的是(____) A.一个类中只能定义一个析构函数 B.析构函数名与类名不同C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数正确答案:【A】分值:【1】4.下列定义数组的语句中正确的是(____)A.#define size 10 char str1[size],str2[size+2];B.char str[];C.i nt num['10'];D.int n=5; int a[n][n+2];正确答案:【A】分值:【1】5.关于this指针使用说法正确的是(____)A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B.保证基类私有成员在子类中可以被访问。

C.保证基类保护成员在子类中可以被访问。

D.保证基类公有成员在子类中可以被访问。

正确答案:【A】分值:【1】6.所谓多态性是指(____)A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数D.一个对象调用不同名称的对象正确答案:【B】分值:【1】7.派生类构造函数的执行顺序是先执行________ 的构造函数,然后执行成员对象的构造函数,最后执行________ 的构造函数。

【华科】历年机试题汇总打印下来随身带着

【华科】历年机试题汇总打印下来随身带着

华科历年上机题汇总(欢迎补全)2014华科机试回忆1.超素数就是这样的数,比如2333,2是素数,23是素数,233是素数,2333是素数,找出所有的四位超素数。

每行输出六个,数之间空格隔开。

(我的做法是先开个10000的数组,找出每个是素数的数组值为1,否则为0,对于每个四位数,分别看这几位是否都是素数即可,注意1不是素数)2.两个二进制数加减乘除,short型的,十六位,比如101 100 +,输出1001,也可把前几位0输出。

(我刚开始想用大数运算来计算,发现比较麻烦,就把这两个数转化为十进制,然后运算,再转化为short型的二进制(转化为二进制时我的负数形式估计考虑错了))。

3.判断一个整型变量是否正确,比如02是八进制,0x2是十六进制,12是十进制,只有这三种进制判断。

前面的0是零。

(我判断时将八进制和十六进制的负数形式搞错了,以为这两种也是前面加个负号(比如-01,-0x1)的,其他的都能判断出来,三个大if 语句就行了)。

大致就只能想出这些了,建议你们找找图片版的,其他同学应该已经上传了。

可以看出今年的试题还是很基础的,没有很复杂的算法。

算法一定要注释,首先说出自己的大致想法。

当时时间比较急,我也没细想,做的题想法也不一定好,反正能先运行再说。

2013华科机试试题回忆版1.素数就是不能被等分的数,如3,5,7等。

一个数n是素数,若n+2也是素数,则,这两个数是孪生素数。

找不超过整数m(m在5到10000之间)的最大孪生素数。

2.回旋矩阵:如5的回旋矩阵是1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9输入一个n,求他的回旋矩阵。

3.求一个字符串的最右最长回文子串。

字符串包括字符和标点,空格可忽略。

如abba是回文a bb a也是回文。

你这回忆不完整啊,第三题是考虑回文子串的时候要忽略掉标点符号,打印输出的时候要再加上->12上机按照要求是可以使用VC,TC和CodeBlocks环境。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

华中科技大学考试系统C++第一章复习(1)[完成]

华中科技大学考试系统C++第一章复习(1)[完成]

NNYNN YYYNNCABBCCCAADADDBAABACD/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:试编程判断输入的正整数是否既是5又是7的倍数,如是,则输出yes,否则输出no.输出结果见图:样张.JPG-------------------------------------------------------*/#include <iostream>using namespace std;void main(void){int i,a[5]={5,7,12,25,35};/**********Program**********/for(i=0;i<=4;i++){if(a[i]%5==0&&a[i]%7==0) cout<<"yes"<<endl;else cout<<"No"<<endl;}/********** End **********//*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:输入3个整数,编程序输出最大值。

-------------------------------------------------------*/#include<iostream>using namespace std;void main(){int x,y,z;cin>>x>>y>>z;int max;/**********Program**********/int a ;if(x>y) a=x;else a=y;if(z>a) max=z;else max=a;/********** End **********/cout<<"max="<<max;}}/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:完成如下分段函数。

大学生c语言考试试题及答案

大学生c语言考试试题及答案

大学生c语言考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言支持指针操作答案:B2. C语言中,用于定义一个整型数组的关键字是:A. intB. arrayC. stringD. list答案:A3. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable_2D. variable!2答案:C4. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. ==答案:A5. 下列哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A6. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D7. 下列哪个选项是C语言中的合法浮点数?A. 3.14e2B. 3.14EC. 3.14E+D. 3.14e答案:A8. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列哪个选项是C语言中正确的注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释 */D. /* 这是一个注释答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

答案:char2. C语言中,用于定义一个浮点型变量的关键字是________。

答案:float3. C语言中,用于定义一个双精度浮点型变量的关键字是________。

华中科技大学C语言期末考试题库试题及答案汇总

华中科技大学C语言期末考试题库试题及答案汇总

A、0 B、0.5 C、1 D、2
知识点:算术表达式
38.设有 int x=11;则表达式(x++ * 1/3)的值是___A___。??
A、3
B、4 C、11 D、12
知识点:算术表达式
39.下列程序的输出结果是___C___。
main()
{
double d=3.2; int x,y;
x=1.2;y=(x+3.8)/5.0;
知识点:常量、变量和标识符
24.以下不能定义为用户标识符的是__D____。
A、Main B、_0 C、_int D、sizeof
知识点:常量、变量和标识符
25.下列叙述中正确的是_D_____。
A、C 语言中既有逻辑类型也有集合类型 B、C 语言中没有逻辑类型但有集合类型
C、C 语言中有逻辑类型但没有集合类型 D、C 语言中既没有逻辑类型也没有集合类型
知识点:简单 C 语言程序的构成和格式
12.
有以下程序
main()
{
int a=0,b=0;
a=10; /* 给 a 赋值 */
b=20; /* 给 b 赋值 */
printf("a+b=%d\n",a+b);
}
程序运行后的输出结果是___B___。
A、a+b=10 B、a+b=30 C、30 D、出错
D、int k_2 _001 ???
知识点:常量、变量和标识符
19.以下定义语句中正确的是__C____。
A、char a='A' b='B'; B、float a=b=10.0;(正解 a=10.0 b=10.0)

2022年华中科技大学公共课《C语言》科目期末试卷A(有答案)

2022年华中科技大学公共课《C语言》科目期末试卷A(有答案)

2022年华中科技大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。

2、在C语言源程序中,一个变量代表【】。

3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

5、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为_______,b的值为_______,c的值为_______。

6、下面程序段的运行结果是_______。

char s[20]="abcd";char*sp=s;sp++;puts(strcat(sp,"ABCD"));7、执行下面程序段后,k的值是_______。

k=1;n=263;do{k*=n%10;n/=10;} while(n);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);10、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。

二、选择题11、下面正确的字符常量是( )A."c"B. "\\"C. 'w'D. "12、若有代数式|x3+log10x|,则正确的C语言表达式是()A.fabs(x*3+log(x))B.abs(pow(x,3)+log(x))C.abs(pow(x,3.0)+log(x))D.yfabs(pow(x,3.0)+log(x))13、以下不符合C语法的赋值语句是()。

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

华中科技大学10级《C语言程序设计》考试试卷课程性质:必修使用范围:本科考试时间:年月日考试方式:闭卷学号______________专业_______班级____姓名___________成绩____一、选择题(每小题2分,共20分)(A)(1)若x、y、j和k都是int型变量,则计算表达式x=( k=32,j=6, i=4)后,x的值为。

A)4 B)16 C)32 D)52( B )(2)C语言中标识符只能由字母、数字和下划线组成,且第一个字符。

A)必须为字母 B)必须为字母或下划线C)必须为下划线 D)可以是字母、数字和下划线中任一种字符(D)(3)下面四个选项中,均是正确的数值常量或字符常量的选项是。

A)0.0 0f 8.9e '&' B)"a" 3.9e-2.5 1e1 '\"'C)'3' 011 0xFF00 0a D)+001 0xabcd 2e2 50( B)(4)已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是。

A)a=a*3=2 B)a+=a-=(b=4)*(a=3)C)x+y=-3*a D)y=float(i)(A)(5)若以下变量均是整型,且num=sum=5;则计算表达式num++,sum++,++num后num的值为。

A)7 B)8 C)9 D)10( B)(6)在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A)整型常量 B)整型常量或整型表达式C)整型表达式 D)任何类型的表达式( C)(7)以下能对一维数组a进行正确初始化的语句是。

A)int a[10]={0,0,0,0,0} B)int a[10]={ };C)int a[ ]={0}; D)int a[10]={10*1};/*各元素值为1*/ (B)(8)下面程序(注:每行程序前面的数字表示行号)。

1 main( )2 { static int a[3]={0};3 int i;4 for(i=0;i<3;i++) scanf("%d",a[i]);5 for(i=0;i<3;i++) printf("%d\n",a[i]); }A)第3行有错误 B)第4行有错误C)第5行有错误 D)没有错误( C )(9)定义如下变量和数组 int k;int a[3][3]={1,2,3,4,5,6,7,8,9};for(k=0;k<3;k++) printf("%d ",a[k][k]); 则上面语句输出的结果是。

A )3 5 7B )3 6 9C )1 5 9D )1 4 7 ( D )(10)下面是对字符型数组s 的初始化,其中不正确的是。

A )char s[5]={"abc"};B )char s[5]={'a','b','c'};C )char s[5]=" ";D )char s[5]="abcdef";二、阅读程序写出运行后的输出结果(每小题3分,共15分,专科生每小题4分,共20分) (1) main( ) 结果: { int i,j; float x,y; y=5.000000 i=4; j=8; x=4.0; y=1.0+i/j+x; printf("y=%f",y);}(2)main() 结果: { int x,y,z; 1,2,3 x=1;y=2;z=3;printf("%d,%d,%d\n",x,y,z);}(3)main() 结果: { int i=5,k=0; 0 while(i--) k=k+k; printf("k=%d\n",k);}三、把下列数学表达式写成C 语言表达式(每小题2分,共10分) ⑴))()((c s b s a s s --- 表达式:sqrt(s*(s-a)*(s-b)*(s-c)) ⑵ P(1+r)n表达式:p*pow(1+r,n)⑶ 212r m m g表达式:g*m1*m2/(r*r)⑷ 2πr+πr 2 +cos(b) 表达式:2*3.14*r+3.14*r*r+cos(b)⑸ 5ln )45(sin 224⨯e ο 表达式:2*pow(sin(45*3.14/180),4)/(exp(2)*log(5))(4)main() 结果:9 { int a,b=0;static int c[5]={1,2,3,4,5}; for(a=0;a<5;++a) if((a%2)==0)b+=c[a]; printf("%d",b); } (5) main() 结果:3 { int a,b,c; 2 a=1; b=2; c=3;printf("%d\n",b>c?b++:c++); printf("%d\n",b>c?c++:b++); }四、编程题(每小题10分,共40分)(1)从键盘输入一个学生某门课程的考试成绩,若低于60分,输出no pass,反之输出pass。

#include<stdio.h>void main(){float x;printf("input a nuber:");scanf("%f",&x);if(x<=100&&x>=0)if(x<60)printf("no pass\n");elseprintf("pass\n");elseprintf("input error:\n");}(2)一个班有30学生,要求找出某门课程考试成绩的最高分和最低分。

(不用数组结构)#include<stdio.h>void main(){ int i,max,min,a;scanf("%d",&a);max=min=a;for(i=1;i<30;i++){ scanf("%d",&a);if(max<a) max=a;if(min>a) min=a;}printf("Max=%d,Min=%d\n",max,min);}(3)用选择法编写一个程序,使存储在整型数组a[10]中的各元素值按升序排列存放(要求:程序中至多允许使用一个缓存单元)。

#include<stdio.h>void main(){static int a[10];int i,j,temp;printf("Input 10 numbers:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(a[i]>a[j]){temp=a[j];a[j]=a[i];a[i]=temp;}for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");}(4)编写已知半径求面积的函数,供主函数调用。

要求在主函数中输入10个半径值,对于给定的半径值,判别其否大于0,若大于,则输出对应的面积。

#include<stdio.h>float ss(int r){float s;s=3.14*r*r;return s;}void main(){ int r[10],i;flaot s;printf("Input 10 r:");for(i=0;i<10;i++){ scanf("%d",&r[i]);if(r>0) s=ss(r[i]);printf(”%-4d%f\n”,i,s)}}五、应用题(每小题5分,共15分,此题专科生不做)输入10个学生的3门课的成绩,分别用函数求:(1)每个学生的平均分。

(2)按学生平均分降序排列输出学生信息。

(3)编写一菜单主函数,菜单内容包括以上部分。

#include <stdio.h>#include <conio.h>#define N 3void aver_stu(int a[N][4]);void sort(int a[N][4]);void main(void){ int sc[N][4]; //sc[i][0]存放学生的序号int i,j;char ch,answer;for(i=0;i<N;i++){ sc[i][0]=i+1;printf("请输入第%d个学生的3门成绩:\n",i+1);for(j=1;j<=3;j++){ printf("第%d门课程:",j);scanf("%d",&sc[i][j]);}}do{fflush(stdin);//清空缓冲区printf("\n*********************************************\n");printf("\t1---求每个学生的平均成绩\n");printf("\t2---按学生平均分降序排列\n");printf("*********************************************\n");printf("\n请输入(1~2):");ch=getchar();getchar();switch(ch){case '1':aver_stu(sc);break;case '2':sort(sc);;break;default:printf("选择错误,请重新选择!\n");}printf("\n输入N或n退出,其它键继续!\n");answer=getch(); //从键盘接收一个字符,但不回显}while(answer!='N'&&answer!='n');}void aver_stu(int a[N][4]){ int i,sum=0;printf("\n学生序号---平均成绩\n");for(i=0;i<N;i++)printf("\t%d\t%.2f\n",a[i][0],(float)(a[i][1]+a[i][2]+a[i][3])/3); }void sort(int a[N][4]){ float aver[N][2],t,k;int i,j;for(i=0;i<N;i++){ aver[i][0]=a[i][0];aver[i][1]=(float)(a[i][1]+a[i][2]+a[i][3])/3;}for(j=0;j<N-1;j++)for(i=0;i<N-1-j;i++)if(aver[i][1]<aver[i+1][1]){ t=aver[i][1];aver[i][1]=aver[i+1][1];aver[i+1][1]=t;k=aver[i][0];aver[i][0]=aver[i+1][0];aver[i+1][0]=k;}printf("\n学生序号---平均成绩\n");for(i=0;i<N;i++)printf("\t%.0f\t%.2f\n",aver[i][0],aver[i][1]);}六、判断题(每小题1分,共10分,此题仅专科生做)1. 在命名标识符时,大小写字母是不加区分的。

相关文档
最新文档