中南大学C语言历年试卷
大学C语言题库真题第一套题(含答案)

C语言程序设计试题库(第1套)一、单项选择题(每小题2分,共50分)1、一个C程序的执行是从___B____。
A、本程序的main函数开始,到main函数结束B、本程序的main函数开始,到本程序文件的最后一个函数结束C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束2、C语言程序的基本单位是_____C___。
A、程序行B、语句C、函数D、字符3、请选出可用作C语言用户标识符的一组标识符_____B___。
A、voidB、a3_b3C、ForD、2adefine _123 -abc DOWORD IF ase sizeof4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是_C_____ 。
A、4.500000B、4C、4.000000D、2.0000005、下列可以正确表示字符型常量的是__C____。
A、297B、"a"C、"\n"D、'\t'6、在C语言中,要求运算数必须是整型的运算符是___D___。
A、/B、++C、*=D、%7、C语言中,复合语句的构成是将一系列语句置于__C____。
A、begin与end之间B、方框号“[ ]”之间C、花括号“{ }”之间D、圆括号“( )”之间8、有如下程序段,对应正确的数据输入是____B___。
float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A、2.04<回车>B、2.04,5.67<回车>5.67<回车>C、A=2.04,B=5.67<回车>D、2.045.67<回车>9、以下程序段的输出结果是___B___。
int a=5678;printf(”%2d\n”, a);A、提示出错、无结果B、56C、78D、567810、已知:char ch='A';则下列表达式的值是___B___。
中南大学C++练习题

中南大学C++练习题(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--1冶金工程班同学做以下各题,学号尾数是单数的同学做单数题,学号尾数是双数的同学做双数题。
请在5月5日前完成本次作业。
2 程序的数据描述1.已知a=2,b=3,x=,y=(a 、b 为整型,x 、y 为浮点型),求算术表达式(float)(a+b)/2+(int)x%(int)y 的值。
2.首先输入整型变量x 的值,然后将x+5的值传给实型变量y 后将x 值加1,最后输出x 和y 的值。
要求第二步用一个赋值语句完成。
3.已知物品的单价PRICE ,根据数量x 的值求其总金额。
要求将单价PRICE 定义为符号常量,数量x 从键盘输入。
4.从键盘输入一个3位整数,要求分别输出其个位、十位、百位数字。
3 顺序结构程序设计1.已知|sin sin |ln e 222x x y x π-+=,其中︒+=tan521x ,求y 的值。
2.求以a ,b ,c 为边长的三角形的面积s 。
))()((c p b p a p p s ---=,其中2cb a p ++=。
3.输入一个3位正整数,求各位数字的立方和。
4.输入两个整数a 和b ,求a 除以b 的商和余数,编写程序并按如下形式输出结果(设a=1500,b=350,□表示空格)。
a=□1500,b=□3502a/b=□□4,□a□mod□b=□1004 选择结构程序设计1.输入一个学生的成绩,如高于60分,输出“Pass ”,否则输出“Fail ”。
2.输入两个字符,若这两个字符的ASCII 码之差为偶数,则输出它们的后继字符,否则输出它们的前驱字符。
3.求分段函数的值。
⎪⎪⎩⎪⎪⎨⎧<<<+<<-+=320151001)ln(0151)sin(x x x x x x x y 32 4.给出一个百分制成绩,要求输出成绩等级A ,B ,C ,D ,E 。
C语言练习题-选择题(带答案)

试卷编号:65所属语言:C语言试卷方案:平时练习-选择试卷总分:276分共有题型:1种━━━━━━━━━━━━━━━━━━一、单项选择共276题(共计276分)━━━━━━━━━━━━━━━━━━第1题(1.0分)题号:288下列字符序列中,可用作C标识符的一组字符序列是()。
A:S.b,sum,average,_above B:class,day,lotus_1,2dayC:#md,&12x,month,student_n! D:D56,r_1_2,name,_st_1答案:D第2题(1.0分)题号:910C语言程序从main()函数开始执行,所以这个函数要写在( ).A:程序文件的开始 B:程序文件的最后C:程序文件的任何位置(除别的函数体内) D:它所调用的函数的前面答案:C第3题(1.0分)题号:908完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ). A:连接、编译 B:编译、连接 C:连接、运行 D:运行答:B第4题(1.0分)题号:909要调用文件处理函数时,在#include 命令行中应包含( ).A:"ctype.h" B:"string.h" C:"stdio.h" D:"math.h"答案:C第5题(1.0分)题号:609以下数据中,不正确的数值或字符常量是()。
A:0B:5LC:o13D:9861答案:C第6题(1.0分)题号:911在C语言中,错误的语句是( ).A:a=b=c;B:;C:breakD:b=3*5,a*=4;答案:C第7题(1.0分)题号:574以下标识符中,不能作为合法的C用户定义标识符的是()。
A:a3_b3B:voidC:_123D:IF答案:B第8题(1.0分)题号:907一个C语言程序是由( )组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序答案:B第9题(1.0分)题号:234C语言源程序的基本单位是()。
中南大学C语言实验答案(完整版)

i=big+middle+small;
if (n==100 && i==100)
{
printf("Big=%d,Middle=%d,Small=%d,n=%d,i=%d\n",big,middle,small,n,i);
ncount++;
}
}
big++;
printf("* Menu *\n");
printf("* 1.Input *\n");
printf("* 2.Output *\n");
printf("* 3.End *\n");
printf("* * * * * * * * * * * * *\n");
printf(" Enter Number=> \n");
三:选做实验
实验指导书56页第二章选择结构的任意实验
解答:
一、
#include<conio.h>
#include<stdio.h>
main()
{
int n;
float x,y;
clrscr();
printf("Please Enter The Number:");
gotoxy(25,1);
scanf("%d",&n);
printf(" Ch=----------> ");
gotoxy(20,8);
c1=getch();
中南大学c 题库最新版

中南大学c++题库最新版中南大学c++题库下列哪个是C++语言的合法的字符常量__________。
A ”\\0” B ’054’C ’\\x89’ D ’\\092’参考答案 C A“\\0”以双引号界定,是字符串,错。
B ‘054’ 界定了3个字符,错。
C ‘\\x89’ 是采用16进制的转义字符,正确。
D ‘\\092’看似转义字符,但是,以0开头的是8进制字符,9不合法,所以还是界定了3个字符,\\0,9,2,错。
字符常量通常指单引号括起来的内容,双引号的为字符串,A排除。
字符常量中可以用转义序列来表示,如’\\t’表示退格,及用转义符号\后加ASCll码来表示单一字符,注意此处ASCll码用八进制或十六进制表示,故开始无0,排除B,D,还有八进制中首字以o开头,不是零,十六进制以x或X开头。
在C 语言中,合法的字符常量是A)’\\084’ B)‘\\x43’ C)’ab’ D) \字符常量是用单引号括起来的一个字符。
有两种表示方法: 一种是用该字符的图形符号,如’b’ ,’y’,’*’。
另外还可以用字符的ASCII码表示,即用反斜符(\\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:\\odd.这里,ddd是八进制值。
另一种使用字符的十六进制ASCII码值,表示为\\0xhh或0Xhh 这里hh是两位十六进制值。
如:’A’ ,’\\101’ 和‘x41’都表示同一个字符常量。
转义序列表示法还可以用来表示一些特殊字符,用来显示特殊符号或控制输出格式。
在C语言中,以下合法的字符常量是 A. \ B. ‘ab’ C. ‘\\x43’ D. ‘\\084’ E. ‘\\0 选c A 有双引号,是字符串 B 单引号里只能一个字符 D \\0表明是8进制,只能出现0--7的数字 E 书写不完整,右半边的单引号没了定义整型变量x,y,z并赋初始值6的正确语句是__________。
2022年中南林业科技大学公共课《C语言》科目期末试卷A(有答案)

2022年中南林业科技大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x为无符号整数。
表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x中从第p位开始的n位求反(1变0,0变1),其他位不变。
请按表达式的求值顺序写出分解步骤,并解释含义。
__________________________________2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、C语言的源程序必须通过【】和【】后,才能被计算机执行。
4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
5、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。
6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process(float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。
(1)float arr_add(float*arr,int n)计算数组元素值之和。
(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。
(3)float arr_ave(float*p,int n)计算各元素的平均值。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。
大学C语言考试题库(含答案)
单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
inta=10;printf("%d",a++);A、11和10B、11和11C、10和11D、10和10答案:C题号:2100已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以()。
A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217inta[10];合法的数组元素的最小下标值为()。
A、1B 、0C 、10D 、9 答案: B :45能正确表示系:"a ≥10或a ≤0"的C 语言表达式是 A 、a>=0|a<=10 B 、a>=10ora<=0 C 、a>=10&&a<=0 D 、a>=10||a<=0 答案: D 题号:157 main(){intx=1,a=0,b=0; switch(x) {case0:b++; case1:a++;case2:a++;b++;}printf("a=%d,b=%d",a,b); }该程序的()A 、2,2B 、2,1C 、1,1D 、1,0 答案:B:4784a 是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的 数据()。
A 、不确定 .学习参考.B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______ main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:charc='\72';则变量c()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学C语言历年试卷2007年秋C语言试题一、单项选择题:(10分,每题2分)1.char (*p)[5];该语句声明p是一个。
A)指向含有5个元素的一维字符型数组的指针变量pB)指向长度不超过5的字符串的指针变量pC)有5个元素的指针数组p,每个元素可以指向一个字符串D) 有5个元素的指针数组p,每个元素存放一个字符串2.C语言源程序的某文件中定义的全局变量的作用域为:_______。
A)本文件的全部范围B)本函数的全部范围C)从定义该变量的位置开始到本文件结束D) 本程序的所有文件的范围3.以下程序的正确输出结果为:_______。
main(){ int a = 2, c = 5;printf("a = %%d, b = %%d\n", a, c);}A)a = %2, b = %5 B)a = 2, b = 5C)a = %%d, b = %%d D)a = %d, b = %d4.已知学生记录描述为:struct student{int no;char name[20];char sex;struct{int year;char month[20];int day;}birth;};struct student s;设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是_____ 。
A) s.birth.year = 1984;s.birth.month = "11";s.birth.day = 11;B) s.birth.year = 1984;s.birth.month = 11;s.birth.day = 11;C) s.birth.year = 1984;strcpy(s.birth.month,"11");s.birth.day = 11;D) s.birth.year = 1984;s.birth.month[] = {"11"};s.birth.day = 11;5.若有二维数组定义语句:int a[3][4]; 则下面能正确引用元素a[i][j]的为:。
A) *(a+j*4+i) B) *(a+i*4+j)C) *(a[i]+j) D) *((*a+i)+j)二、写出下列程序的运行结果。
(10分,每题2分)1.#includemain(){int x = 12, y = 8;printf("%d\t%d\t%d\n", !x, x&y, x|y);}程序运行结果是:0 1 12.#includemain(){int v1 = 10 ;float v2 = 2.5 ;float v3 ;int v4 ;float v5 ;v3 = v1 / v2 ;v4 = v1 / v2 ;v5 = v1 / 4 ;printf("v3=%f\tv4=%d\tv5=%f\n",v3,v4,v5) ; }程序运行结果是:3.#includestruct date{int year;int month;int day;};void func(struct date p){p.year = 2000;p.month = 5;p.day = 22;}main(){struct date d;d.year = 1999;d.month = 4;d.day = 23;printf(“%d,%d,%d\n”, d.year, d.month, d.day); func(d);printf(“%d,%d,%d\n”, d.year, d.month, d.day); }程序运行结果是:4.#includemain(){int k=4, n=0;for (;n<k;)< p="">{n++;if (n%2 == 0) continue;k--;}printf("k=%d, n=%d\n",k,n);}程序运行结果是:5.#includeint Func(int i);main(){int i;for (i=3; i<5; i++){printf(" %d", Func(i));}printf("\n");}int Func(int i){static int k = 10;for (; i>0; i--){k++;}return (k);}程序运行结果是:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
(8分,每空1分)1.从键盘任意输入一个年号,判断它是否是闰年。
若是闰年,输出“Y es”,否则输出“No”。
已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。
能被400整除。
#includemain(){int year, flag;printf("Enter year:");scanf("%d",&year );if ( ){flag = 1;}else{flag = 0;}if ( ){printf("Yes!\n");}else{printf("No!\n");}}2.下面函数Fail用于计算不及格成绩的学生人数,函数Sort采用选择法对n 个学生成绩由高到低排序。
int Fail(float score[], int n){int i, j, sum = ;for (i=0; i<="" p="">{if (score[i] < 60) sum ;};}void Sort(float score[], int n){int i, j, k;float temp1;for (i=0; i<="" p="">{k = i;for (j= ; j<="" p="">{if (score[j] > score[k]) k = ;}if ( )temp1 = score[k];score[k] = score[i];score[i] = temp1;}}}四、在下面的4个程序中,共有16处错误(包括语法错误和逻辑错误),只要找出其中的15处错误并改正之即可,多找不多加分,重新编写程序不加分。
(30分)1.编程判断m是否为素数。
#include#includeint IsPrime(int m)main(){int n, flag;printf("Input n:");scanf("%d", n);flag = IsPrime(n);if (!flag){printf("Yes!\n");}else{printf("No!\n");}}int IsPrime(int m);{int i, k;if (m <= 1){return 0;}for (i=2; i<=sqrt(m); i++) {k = m % i;if (k = 0){return 0;}}return 1;}2.利用224462133557π= 前200项之积,编程计算π的值。
#include main(){double term, result = 0;int n;for (n=2; n<=100; n+2){term = double(n*n)/(n-1)*(n+1);result = result * term;}printf("result = %f\n", 2 * result);}3.编写一个函数Inverse(),实现将字符数组中的字符串逆序存放的功能。
#include#include#define ARR_SIZE = 80; void Inverse(char str[]);main(){char a[ARR_SIZE] ;printf("Please enter a string: ");gets(a);Inverse(char a[]);printf("The inversed string is: ");puts(a);}void Inverse(char str[])int len, i, j;char *temp;len = strlen(str);for (i=0; j=len-1; i<="" p="">{temp = str[i];str[i] = str[j];str[j] = temp;}}4.下面程序的功能是求解爱因斯坦数学题。
爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶;若每步跨6阶,最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。
编程打印这条阶梯共有多少阶。
#includemain(){int x,find;x=0;do{++x;find=x%2=1&&x%3=2&&x%5=4&&x%6=5&&x%7=0;}while (find);printf("x=%d\n",x);}五、编程(42分)1.编程计算1×2 + 3×4 + 5×6 + ……+ 99×100的值,其中,n 值由键盘输入。
(14分)2. 不用标准库函数strcat,自己编写一个函数MyStrcat,实现字符串链接功能,在主函数中输入两个字符串,然后调用函数MyStrcat 将这两个字符串链接起来,并将结果显示到屏幕上。
(14分)已知函数MyStrcat的函数原型如下:void MyStrcat(char dstStr[], char srcStr[]);其中,dstStr为目的字符串数组,srcStr为源字符串数组。
3.从键盘任意输入某班20个学生的成绩(int型)和学号(long 型),编程打印最高分及其相应的学号。
然后,在主函数中打印这些结果。
(14分)要求必须按照如下函数原型编程求解最高分和学号:int FindMax(int score[], long num[], int n, long *pMaxNum); 其中,函数的返回值为求得的最高分,pMaxNum代表求得的最高分学生的学号,score数组用于存储学生的成绩,num数组用于存储学生的学号,n表示学生人数。