昆明理工大学C考试编程题参考答案
c程序设计试题及答案

c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列选项中,哪一个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. A和B答案:D2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. return答案:A3. 以下哪个语句用于结束C程序的执行?A. break;B. continue;C. exit();D. return;答案:C4. C语言中,哪个类型用于表示字符?A. charB. stringC. characterD. letter答案:A5. 在C语言中,以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. <D. >答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +D. -答案:A7. 在C语言中,哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. None of the above答案:D8. 下列哪个选项是C语言中的循环结构?A. ifB. whileC. switchD. case答案:B9. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D二、填空题(每空1分,共10分)1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. 一个C语言程序的执行从________函数开始。
答案:main3. 在C语言中,________运算符用于取反一个逻辑值。
答案:!4. 一个C语言数组的索引是从________开始的。
答案:05. 使用________函数可以在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)。
2022年昆明理工大学津桥学院公共课《C语言》科目期末试卷A(有答案)

2022年昆明理工大学津桥学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。
2、C语言源程序的基本单位是________3、在C语言源程序中,一个变量代表【】。
4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
5、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为_______6、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);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。
请填空。
_______;a=b;b=c;_______;9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。
二、选择题11、下列4组选项中,不是C语言关键字的选项是。
()A.defineB.getcC.includeD.whileIF char scanf goType printf case pow12、下面4个选项中,是C语言关键字的选项是( )。
C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。
2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。
3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。
4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。
5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。
6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。
7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。
昆明理工大学C++程序设计试卷及答案 题库

1.在 C 语言中 , 不正确的 int 类型的常数是( ) 。 A. 28 B.039 C. 037 D)0xAF 2.当 c 的值不为 0 时,能正确将 c 的值赋给变量 a、 b 是( ) 。 A. c=b=a; B. (a=c)||(b=c) C. (a=c)&&(b=c) D. a=c=b 3.若所有变量均已正确说明,下列程序运行后, x 的值是 ( ) a=b=c=0;x=35; if(!a) x--; else if(b) x=2; if (c) x=3; else x=4; cout<<x<<endl; A.34 B. 4 C.35 D. 3 4.下面对 s 初始化不正确的是( ) 。 A. char s[5]={ “ abc ” } B. char s[5]={,a?,?b?,?c?} C. char s[5]= ” “ D. char s[5]= ” abcdef ” 5.以下程序中, while 循环的循环次数是 ( ) void main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A. 1 B. 10 C. 6 D. 死循环,不能确定次数 6.以下程序的输出结果是 ( ) viod main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; cout<<d; } A. 1 B. 0 C.非 0 的数 D. -1 7.在 C 语言中,形参的缺省存储类是( ) A. auto B. register C. static D. extern 8.以下叙述正确的是 。 A. A. C++ 语言程序的函数中必须有 return 语句; B. B. 在 C++ 语言程序中,函数的类型必须进行显示说明; C. C. 函数中 return 语句必须放在函数体的最后; D. D. C++ 语言程序中, return 语句中表达式的类型一般应该与函数的类型一致。 9.若有定义: int aa[ 8] ; 。则以下表达式中不能代表数组元 aa[1] 的地址的是
云南省c语言等级考试二级教程答案

云南省c语言等级考试二级教程答案一、选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. 65D. '65'答案:A2. 若有以下定义:int a=5, b=0; 则执行以下语句后,b的值是多少?if (a>0) b=1;else b=-1;A. 1B. 0C. -1D. 5答案:A3. 下面哪个选项不是C语言中的运算符?A. %B. &&C. ||D. :答案:D4. 在C语言中,以下哪个关键字用于定义函数?A. structB. unionC. enumD. void答案:D5. 若有以下定义:int a=1, b=2, c=3; 则执行以下语句后,a的值是多少?if (a>b) a=b;else a=c;A. 1B. 2C. 3D. 0答案:C6. 在C语言中,以下哪个选项不是合法的变量名?A. _nameB. 2nameC. name_D. name答案:B7. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello", "World";D. char str[] = {'H', 'e', 'l', 'l', 'o'};答案:A8. 若有以下定义:int a=5, b=10; 则执行以下语句后,a的值是多少?a = (b+=a);A. 15C. 10D. 20答案:A9. 在C语言中,以下哪个选项不是合法的数组声明?A. int arr[5];B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr;答案:D10. 下面哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B11. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int a);D. int add(int, int);答案:A12. 若有以下定义:int a=2, b=4; 则执行以下语句后,a的值是多少?a =b % a;A. 0B. 2C. 4答案:D13. 在C语言中,以下哪个选项不是合法的指针类型?A. int *B. float *C. char *D. double *答案:B14. 若有以下定义:int a=10, b=20; 则执行以下语句后,b的值是多少?b = (a += b);A. 20B. 30C. 10D. 50答案:D15. 在C语言中,以下哪个选项不是合法的循环语句?A. forB. whileC. do-whileD. if答案:D16. 下面哪个选项不是C语言中的输入输出函数?A. printf()B. scanf()C. gets()D. puts()答案:C17. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id; char name[20];};B. struct {int id; char name[20];} student;C. struct Student {int id; char name;} student;D. struct {int id; char name[20];} Student;答案:A18. 若有以下定义:int a=5, b=10; 则执行以下语句后,a的值是多少?if (a < b) a = b;A. 5B. 10C. 15D. 20答案:B19. 在C语言中,以下哪个选项不是合法的类型转换?A. (int)3.14B. (float)5C. (char)'A'D. (double)"Hello"答案:D20. 下面哪个选项不是C语言中的存储类别关键字?A. autoB. static。
昆明理工大学2000级C语言期末统考试题(A卷).

昆明理工大学2000级C语言期末统考试题(A卷)说明:1、本试题满分为100分,考试时间为120分钟。
闭卷考试。
2、所有答案均应回答在答题纸上,做在试卷上不计分。
一、单选题:请从A、B、C、D四个选项中选出一个正确答案(本题共30小题,每题2分,共60分)1、C语言程序的基本单位是。
A、模块B、字符C、函数D、句子2、一个C程序的执行是从。
A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束3、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。
A、char < int < long int <= float < doubleB、char = int < long int <= float < doubleC、char < int < long int = float = doubleD、char = int = long int <= float < double4、假设所有的变量均为整型,则表达式(a = 2,b = 5,b++,a+b)的值是。
A、7B、8C、6D、25、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母、数字和下划线中任一种字符6、在C语言中,要求运算数必须是整型的运算符是。
A、/B、++C、!=D、%7、以下符合C语言语法的赋值表达式是。
A、d = 9 + e + f = d + 9B、d = 9 + e,f = d + 9C、d = 9 + e,e + +,d + 9D、d = 9 + e + + = d + 78、下面正确的字符常量是。
昆明理工大学C语言期末考试题库

昆明理工大学C语言期末考试题库包含百分之九十五的原题1. main函数是C程序的入口,由计算机系统负责调用。
A.对B.错2. C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。
A.对B.错3. C语言本身不提供输入输出语句,但可以通过输入输出函数来实现数据的输入输出。
A.对B.错4. 假定已有整型变量x的定义,则(x+1)++是一个合法的表达式。
A.对B.错5. 使用条件表达式可以构成各种各样的两路选择结构。
A.对B.错6. 与表达式“!(x> 0)”等价的表达式是“x< =0”。
A.对B.错7. 二重循环for(i=0;I < 5;i+=2) for(j=0;j < 5;j++)的循环体的执行次数为15。
A.对B.错8. 在循环体内和switch语句体内使用break语句。
A.对B.错9. 函数strcpy(str1,str2)是将字符串str2 连接到字符串str1之后。
A.对B.错10. 可以对实型数组进行整体输入、输出。
A.对B.错11. 若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。
A.对B.错12. 在main()函数中定义的变量称为全局变量。
A.对B.错13. 共用体可以作为结构体的成员,但结构体不能作为共用体的成员。
A.对B.错14. 在定义了枚举变量后,系统才为该变量分配内存空间。
A.对B.错15. 变量的指针,其含义是指该变量的一个标志。
A.对B.错16. 当以参数w打开文件时,若指定路径下已有同名文件,则覆盖原有文件。
A.对B.错单选题1. 下面有关C语言特点的说法中,错误的是______。
A.C语言编写的代码较为紧凑,执行速度也较快B.C语言不仅适合编写各种应用软件,还适于编写各种系统软件C.C语言是一种模块化和结构化的语言D.C语言编写的程序通常不具备移植性2. 以下程序的输出结果是______。
#include "stdio.h" void main() { int a=2,b=3,c=4; printf("%d,%d,%d\n",c,b,a); }A.4 3 2B.2,3,4C.4,3,2D.2 3 43. 以下选项中,能用作数据常量的是________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.从键盘上输入若干个学生成绩(百分制整数),直到输入-1(负1)结束。
求平均分并保留1位小数输出。
#include "stdio.h"main(){int Nb=0,AllNb=0,i=0;float AverageNb;printf("请输入学生成绩,按回车进行下一个,输入-1结束并求平均分\n");scanf("%d",&Nb); //输入第一个成绩while(Nb!=-1) //Nb用来控制程序结束,同bool的true,false{AllNb=AllNb+Nb; //累加成绩i++; //统计成绩个数scanf("%d",&Nb); //输入成绩}AverageNb=(float)AllNb/(i*1.0); //将整型数转换成实型再求平均分printf("\n输入成绩个数为:%d",i);printf("\n平均分为%2.1f\n",AverageNb);}2.从键盘上输入若干个学生成绩(百分制,含1位小数),直到输入负数结束。
分别统计出优(90分及以上)、良(80~89)、中(70~79)、及格(60~69)的学生人数。
#include "stdio.h"main(){float score=0;int a=0,b=0,c=0,d=0; //定义统计各分数段成绩人数的变量并赋初值0int count=0; //定义统计总人数的变量并赋初值0printf("\n请输入学生成绩,按回车进行下一个,输入负数时结束\n");scanf("%f",&score); //输入第一个成绩while(score>=0) //统计各分数段成绩人数{count++;if(score>=90.0 && score<=100.0)a++;else if(score>=80.0 && score<=89.0)b++;else if(score>=70.0 && score<=79.0)c++;else if(score>=60.0 && score<=69.0)d++;scanf("%f",&score);//输入其他成绩}printf("\n输入的学生成绩个数共有:%d\n",count);printf("\n所输入的学生成绩中,优有%d人,良有%d人,中有%d人,及格有%d人\n",a,b,c,d);}3.从键盘上输入若干个字符,直到输入’#’结束。
分别统计出英文字母、数字、空格、其他字符的个数并输出。
#include "stdio.h"main(){char ch;int a=0,b=0,c=0,d=0;printf("\n请输入任意字符,输入'#'时结束\n");scanf("%c",&ch);//输入第一个字符while(ch!='#') //统计出英文字母、数字、空格、其他字符的个数{if(ch>='0'&& ch<='9')//判断是否为数字a++;else if(ch>='a'&& ch<='z' || ch>='A'&& ch<='Z')//判断是否为字母b++;else if(ch==' ') //判断是否为空格c++;else //其他字符d++;scanf("%c",&ch);//输入其他字符}printf("\n所输入的字符中,数字有%d个,字母%d人,空格有%d个,其他字符有%d个\n",a,b,c,d);}注意:输入字符的格式如下:ghjYUIhj890 y $% #4.从键盘上输入任意自然数N(N>10),要求:1.筛选出3~N之间的素数;2.输出素数,每个数占用6宽度,左对齐。
#include "stdio.h"#include "math.h"main(){int i,j,N;int flag;printf("\n请输入任意自然数N\n");scanf("%d",&N);for(i=3;i<=N;i++)//筛选出3~N之间的素数{flag=0;for(j=2;j<=sqrt(i);j++)//判断i是否是素数if(i%j==0){ flag=1;break; } //非素数则改变标志flag的值为1if(flag==0) //为素数则输出printf("\n%-6d",i); //以左对齐6宽度输出}}5.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,从键盘输入自然数N(N>1),计算该数列的前N项之和。
#include "stdio.h"main(){int t0,t=2,i,n;//分子int s0,s=1;//分母double k;//分数double sum=0;//求和printf("\n请输入项数n: ");scanf("%d",&n);for(i=1;i<=n;i++){t0=t; //保存前一项分子s0=s; //保存前一项分母k=(double)t/(double)s;sum=k+sum;t=t0+s0; //计算出下一项分子s=t0; //计算出下一项分母}printf("\n\nsum=%5.2lf\n",sum);}6.请输入3×3的行列式(整数构成),找出其中的最大数值,以及他所在的行标和列标。
#include "stdio.h"#define N 3main(){int i,j,k=0,a[N][N],max,max_l,max_c;printf("Please input the rang:\n");for(i=0;i<N;i++) //输入行列式for(j=0;j<N;j++)scanf("%d",&a[i][j]);for(i=0;i<N;i++) //输出行列式{for(j=0;j<N;j++)printf("%6d",a[i][j]);printf("\n"); }max=a[0][0]; //用第一个元素作为比较基准max_l=0; //比较基准的行号max_c=0; //比较基准的列号for(i=0;i<N;i++)for(j=0;j<N;j++){if(max<a[i][j]) //找出最大数及其坐标{max=a[i][j];max_l=i;max_c=j;}}printf("\n最大值 %d 位于第%d行第%d列\n",max,max_l+1,max_c+1);}7.请输入3×3的行列式(整数构成),找出其中的最小数值,以及他所在的行标和列标。
#include "stdio.h"#define N 3main(){int i,j,k=0,a[N][N],min,min_l,min_c;printf("Please input the rang:\n");for(i=0;i<N;i++) //输入行列式for(j=0;j<N;j++)scanf("%d",&a[i][j]);printf("\n 第1列第2列第3列");for(i=0;i<N;i++) //输出行列式{printf("\n第%d行 ",i+1);for(j=0;j<N;j++)printf("%6d",a[i][j]);printf("\n"); }min=a[0][0]; //用第一个元素作为比较基准min_l=0; //比较基准的行号min_c=0; //比较基准的列号for(i=0;i<N;i++)for(j=0;j<N;j++){if(min>a[i][j]) //找出最小数及其坐标{min=a[i][j];min_l=i;min_c=j;}}printf("\n最小值 %d 位于第%d行第%d列\n",min,min_l+1,min_c+1);}8.从键盘上输入本班同学的程序设计课程分数保存在数组中(人数不超过45人,分数为整数),找出最高分及其所在的下标并输出。
#include "stdio.h"main(){int score[45],n,max,l,i;printf("\n请输入班级总人数: ");scanf("%d",&n);printf("\n\n请输入学生成绩,按回车键确认\n");for(i=0;i<n;i++)scanf("%d",&score[i]);max=score[0];l=0; //设置比较基准for(i=1;i<n;i++) //找最大if(score[i]>max){max=score[i];l=i;}printf("\n\n班级最高分是%d, 其下标为%d\n",max,l);}9.从键盘上输入五组(每组3个)浮点数作为三条边的长度,若他们能构成三角形,则计算出三角形的面积,否则给出“不能构成三角形”的提示。
#include <stdio.h>#include <math.h>#define N 5#define J 3main(){float a[N][J],c[N],sh;int i,j,b[N],x,k;b[0]=0;b[1]=0;b[2]=0;b[3]=0;b[4]=0;for(i=0;i<5;i++){printf("请输入第%d组三角形的边\n",i+1);for(j=0;j<3;j++)scanf("%f",&a[i][j]);if(a[i][0]+a[i][1]>a[i][2] && a[i][0]+a[i][2]>a[i][1] && a[i][2]+a[i][1]>a[i][0])//判断是否能组成三角形{b[i]=1; //是三角形的标志sh=(a[i][0]+a[i][1]+a[i][2])/2.0;c[i]=sqrt(sh*(sh-a[i][0])*(sh-a[i][1])*(sh-a[i][2]));//求出三角形的面积并保存}}for(k=0;k<5;k++)//输出判断结果{if(b[k]==0)printf("\n第%d组边不能构成三角形\n",k+1);elseprintf("\n第%d组边所构成的三角形面积是%f\n",k+1,c[k]);}}10.从键盘上输入本班同学的程序设计课程分数保存在数组中(人数不超过45人,分数为整数),将百分制成绩转换成等级’A’~’E’(’A’90及以上,’B’80分数段,’C’70分数段,’D’60分数段,’E’不及格),并输出成绩及其对应的等级数据。