青岛科技大学c语言期末考试题

合集下载

大学C语言期末考试试题(含答案)

大学C语言期末考试试题(含答案)

第一章C语言概述1.1 选择题*1.1一个C程序的执行是从 A 。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。

但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。

如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。

*1.2以下叙述正确的是 C 。

A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。

因此,如果注释中存在错误,系统是不可能发现的。

另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。

1.3以下叙述不正确的是 D 。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面参考答案:D参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。

C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。

1.4 C语言规定:在一个源程序中,main函数的位置 C 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后参考答案:C*1.5一个C语言程序是由 B 。

A)一个主程序和若干个子程序组成B)若干函数组成C)若干过程组成D)若干子程序组成参考答案:B参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

一、单项选择题1.( A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A) 程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4。

下列关于C语言的说法错误的是(B)。

A)C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写.C)C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5。

下列正确的标识符是(C).A.-a1 B。

a[i] C。

a2_i D。

int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“—" ,选项B中“[”与“]"不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%x B)a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line#His。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

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

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

青岛科技大学c语言考试易错

青岛科技大学c语言考试易错

青岛科技大学c语言考试易错青岛科技大学C语言考试练习易错题1、从键盘输入一个3位整数,将输出该数的逆序数。

(实验指导书P89)#include "stdio.h"void main(){int a,b,c,x,y;printf("enter a numbers:\n");scanf("%d",&x);a=x/100;b=(x-a*100)/10;c=x%10;y=c*100+b*10+a;printf("%d,%d",x,y);}2、输入三角形三条边的边长,求三角形的面积。

(书P55)#include "stdio.h"#include "math.h"void main(){double a,b,c,p,s;printf("enter 3 numbers:\n");scanf("%lf %lf %lf",&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("%lf",s);}3、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出#include "stdio.h"void main(){char a,b,c;double d;printf("enter:\n");scanf("%c %c %c",&a,&b,&c);d=(a+b+c)/3;printf("%lf",d);}4、输入某一年月,输出该月的天数。

(实验指导书P105)#include "stdio.h"void main(){int year,month,days;printf("enter the year and month:\n");scanf("%d %d",&year,&month);switch(month){case 2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;break;case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;}printf("%d,%d\n",year,days);}5、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。

2020c语言期末考试题库及详解答案

2020c语言期末考试题库及详解答案

2020c语言期末考试题库及详解答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. charC. doubleD. string答案:D2. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. <=D. ==答案:A4. 在C语言中,哪个关键字用于定义函数?A. ifB. forC. whileD. void答案:D5. 在C语言中,以下哪个语句用于结束程序的执行?A. breakB. continueC. returnD. exit答案:C二、填空题1. C语言中,一个完整的程序由________和函数的实现两部分组成。

答案:函数的声明2. 在C语言中,使用________关键字可以定义一个数组。

答案:array 或者数组名[常量表达式]3. 在C语言中,________运算符用于判断两个表达式是否相等。

答案:==4. C语言中的________函数用于计算两个数的最大公约数。

答案:gcd5. 在C语言中,使用________语句可以结束当前循环体的执行,立即开始下一次循环。

答案:continue三、简答题1. 简述C语言中变量的作用域和生命周期。

答案:变量的作用域是指变量可以被访问的代码区域。

局部变量的作用域仅限于定义它的函数内部,全局变量可以在整个程序中访问。

变量的生命周期是指变量存在的时间段,局部变量的生命周期从定义时开始,到函数执行结束时结束,全局变量的生命周期从程序开始时开始,到程序结束时结束。

2. 解释C语言中的指针和引用的区别。

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

引用则是一个别名,它为已存在的变量提供了另一个名字。

指针可以被重新赋值为其他地址,而引用一旦被初始化,就不能改变它所引用的变量。

四、编程题1. 编写一个C语言程序,实现求两个整数的最大公约数。

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。

A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。

A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。

A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。

A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。

A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。

A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。

A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。

A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。

A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。

A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。

A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。

A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。

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

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、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______5、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。

6、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。

7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。

在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。

a[0]=1;a[1]=2;swap(a,2);8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。

#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

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语言程序设计复习材料(全面版)

青岛科技大学C语言程序设计复习材料(全面版)

题型题干单选题以下不正确的C语言标识符是____。

单选题以下是正确的C语言标识符是____。

单选题下面各选项组中,均是C语言关键字的组是____。

单选题下列不属于C语言关键字的是 。

单选题C语言程序从main()函数开始执行,所以这个函数要写在____。

单选题下列关于C语言的叙述错误的是____。

单选题在C语言中,错误的int类型的常数是_____ 。

单选题执行语句 printf("%x",-1);屏幕显示_____。

单选题在C语言中,整数-8在内存中的存储形式是 。

单选题C语言中字符型(char)数据在内存中的存储形式是____。

单选题将字符g赋给字符变量c,正确的表达式是 。

单选题将空格符赋给字符变量c,正确的赋值语句是____。

单选题已知:char a='\70';则变量a中_______。

单选题字符串"\"EOF\n=-\61\""的长度是____。

单选题字符串""的长度是____。

单选题已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是 。

单选题逗号表达式"(a=3*5,a*4),a+15"的值是____。

单选题如果int a=1,b=2,c=3,d=4;则条件表达式"a<b?a:c<d?c:d"的值是____。

单选题为求出s=10!的值,则变量s的类型应当为 。

单选题已知int i=10;表达式"i>=9"的值是____。

单选题已知int x=1,y;y=(++x>5)&&(++x<10);执行下述语句后变量x的值是____。

单选题为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

c语言期末考试编程题库及详解答案

c语言期末考试编程题库及详解答案

c语言期末考试编程题库及详解答案1. 编写一个C程序,实现两个整数的加法运算。

```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和是:%d\n", sum);return 0;}```2. 编写一个C程序,实现字符串的复制功能。

```c#include <stdio.h>#include <string.h>int main() {char str[100], copy[100];printf("请输入一个字符串:");gets(str); // 注意:gets函数在C11标准中已经被废弃,建议使用fgetsstrcpy(copy, str);printf("复制后的字符串是:%s\n", copy);return 0;}```3. 编写一个C程序,计算并输出1到100的累加和。

```c#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 100; i++) {sum += i;}printf("1到100的累加和是:%d\n", sum);return 0;}```4. 编写一个C程序,实现简单的学生成绩管理系统。

```c#include <stdio.h>int main() {int score;printf("请输入学生的成绩:");scanf("%d", &score);if (score >= 90) {printf("优秀\n");} else if (score >= 80) {printf("良好\n");} else if (score >= 70) {printf("中等\n");} else if (score >= 60) {printf("及格\n");} else {printf("不及格\n");}return 0;}```5. 编写一个C程序,实现对数组元素的排序。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

C语言程序设计期末考试试题及参考答案

C语言程序设计期末考试试题及参考答案

一、单项选择题(每题1分,共20分)(1)()是构成C语言程序的基本单位。

A)子例程B)过程C)子程序D)函数(2)下面标识符中正确的是()。

A) d&ef B) 6a C) z4x5c D) a3/b4(3)C语言规定,函数返回值的类型是由()。

A) return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定(4)以下选项中非法的表达式是()。

A) 0<=x<100 B) x+l=x+l C) (char)(65+3) D) i=j=0(5)表达式3.6-5/2+1.2+5%2 的值是()。

A) 3.8 B) 4.8 C) 3.3 D) 4.3(6)设int a=12,则执行完语句a+=a-=a*a后,a的值是()。

A) 552 B) -264 C) 144 D) 264(7)对if语句中表达式的类型,下面正确的描述是()。

A)必须是关系表达式B)必须是关系表达式或逻辑表达式C)必须是关系表达式或算术表达式D)可以是任意表达式⑻设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是.A) *p=*q; B) p=q; C) *p=&nl; D) p=*q;(9)有以下程序#include <stdio.h>void main()( char cl,c2;cl='A'+'8'*4';c2='A'+'8'-'5‘;printf("%c,%d\n”,cl,c2); }已知字母A的ASCII码为65,程序运行后的输出结果是()。

A) E,D B) D,69 C) E,68 D)输出无定值(10)下列叙述中正确的是()。

A) break语句只能用于switch语句B)在switch语句中必须使用defaultC) break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(11)设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。

青岛科技大学 信息工程 c语言期末考试题及其答案

青岛科技大学 信息工程 c语言期末考试题及其答案

C语言期末考试题及其答案一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是()。

A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。

main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是()。

int k=10; while(k=0) k=k-1;A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6.以下程序的输出结果为()。

int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf("\t");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是()。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为()。

#define ADD(x) x*xmain( ){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A d=70B d=80C d=140D d=70010.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。

c语言期末考试题库及详解答案编程题

c语言期末考试题库及详解答案编程题

c语言期末考试题库及详解答案编程题在C语言的期末考试中,编程题是检验学生编程能力和理解力的重要部分。

以下是一些典型的C语言编程题目及其详解答案,供同学们参考和练习。

1. 计算圆的面积编写一个C程序,输入圆的半径,计算并输出圆的面积。

圆的面积计算公式为:\[ \text{面积} = \pi \times \text{半径}^2 \]```c#include <stdio.h>#define PI 3.14159int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = PI * radius * radius;printf("圆的面积是:%.2lf\n", area);return 0;}```2. 实现简单的学生成绩管理系统编写一个C程序,实现学生成绩的录入、显示、排序和查询功能。

```c#include <stdio.h>#define MAX_STUDENTS 10struct Student {int id;char name[50];float score;};void displayStudents(struct Student students[], int count) {printf("学生ID\t姓名\t成绩\n");for (int i = 0; i < count; i++) {printf("%d\t%s\t%.2f\n", students[i].id,students[i].name, students[i].score);}}int main() {struct Student students[MAX_STUDENTS];int count = 0;// 这里省略了录入和排序的代码,只展示显示和查询功能// ...// 显示所有学生信息displayStudents(students, count);// 查询功能int id;printf("请输入要查询的学生ID:");scanf("%d", &id);for (int i = 0; i < count; i++) {if (students[i].id == id) {printf("学生ID:%d,姓名:%s,成绩:%.2f\n", students[i].id, students[i].name, students[i].score);break;}}return 0;}```3. 实现字符串反转编写一个C程序,输入一个字符串,然后输出其反转后的字符串。

青岛科技大学c语言期末考试题1

青岛科技大学c语言期末考试题1

一、单项选择题(15个小题,每题2分,共30分):1.一个C语言程序的执行是从_____。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个函数开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束2. 正确的自定义标识符是_____。

A.x_2 B.a-b C.2sum D.$1233.下面程序的运行结果是_____.#define F(x) x*xvoid main(){ int a=2,b=1;prinft(“%d\n”,F(a+b));}A.3 B.5 C.8 D.94.读以下程序段,判断a的值为_____。

int *p,a=10,b=1;p=&a;a=*p+b;A.12 B.10 C.11 D.编译出错5.根据以下说明语句,则下面的叙述中不正确的是_____。

struct student{ int num;char name[10];int score;}stu;A.struct是定义结构体类型的关键字B.stu是结构体变量名C.num, name, score都是结构体成员名D.stu是结构体类型名6.已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5'-‘2’;后,ch1中的值是_____.A.D B.67 C.一个不确定的值 D.C7.以下哪种方法不能对一维数组进行正确的初始化_____。

A.int a[ ]={1,2,3}; B.int a[5]={ };C.int a[5]=(1,2,3,4,5); D.int a[ ]={2,3,4*5,6};8.已正确定义字符变量ch1,下面能正确赋值的是_____.A.ch1=“a”; B.ch1=‘a';C.ch1=“C语言程序设计”; D.ch1=‘ C语言程序设计’;9.逗号表达式 (a=3*4,a*4),a+5 的值是_____.A.53 B.17 C.20 D.4810.设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是_____。

青岛科技大学c语言期末试题及答案

青岛科技大学c语言期末试题及答案

青岛科技大学c语言期末试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. =答案:C3. C语言中,用于定义一个函数的关键字是:A. structB. functionC. voidD. int答案:B4. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. intD. _variable答案:B5. 在C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. !D. =答案:A6. 下列哪个选项是C语言中正确的注释?A. // 这是一个注释B. /* 这是一个注释 */C. /* 这是一个注释D. // 这是一个注释答案:A7. C语言中,用于定义一个字符数组的关键字是:A. charB. arrayC. stringD. str答案:A8. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A9. 在C语言中,用于定义一个指针的关键字是:A. pointerB. ptrC. *D. &答案:C10. 下列哪个选项是C语言中正确的数组定义?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是____。

青岛科技大学c语言期末考试题

青岛科技大学c语言期末考试题

第四套试题一、选择题(20个小题,每小题2分,共40分):1、以下不正确的C语言标识符是____。

A.ABC B.abc C.a_bc D.ab.c2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是____。

A.‘a’&&‘b’ B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1)3、若有以下定义和语句:char c1=‘b’,c2=‘e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+‘A’);则输出结果是____。

A.2,M B.3,EC.2,e D.输入项与对应的格式控制不一致,输出结果不确定4、当运行以下程序时,在键盘上从第一列开始输入9876543210<CR>(此处<CR>代表Enter),则程序的输出结果是____。

main( ){ int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}A.a=98,b=765,c=4321 B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.05、设有如下函数定义:int f(char *s){ char *p=s;while(*p!=‘\0’) p++;return (p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为____。

printf(“%d\n”,f(“goodbye!”));A.3 B.6 C.8 D.06、以下程序的输出结果是____。

main( ){ int w=4,x=3,y=2,z=1;pr intf(“%d\n”,(w<x?w:z<y?z:x));}A.1 B.2 C.3 D.47、以下程序段的输出结果是____。

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

第四套试题一、选择题(20个小题,每小题2分,共40分):1、以下不正确的C语言标识符是____。

A.ABC B.abc C.a_bc D.ab.c2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是____。

A.‘a’&&‘b’ B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1)3、若有以下定义和语句:char c1=‘b’,c2=‘e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+‘A’);则输出结果是____。

A.2,M B.3,EC.2,e D.输入项与对应的格式控制不一致,输出结果不确定4、当运行以下程序时,在键盘上从第一列开始输入9876543210<CR>(此处<CR>代表Enter),则程序的输出结果是____。

main( ){ int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}A.a=98,b=765,c=4321 B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.05、设有如下函数定义:int f(char *s){ char *p=s;while(*p!=‘\0’) p++;return (p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为____。

printf(“%d\n”,f(“goodbye!”));A.3 B.6 C.8 D.06、以下程序的输出结果是____。

main( ){ int w=4,x=3,y=2,z=1;pr intf(“%d\n”,(w<x?w:z<y?z:x));}A.1 B.2 C.3 D.47、以下程序段的输出结果是____。

int k,j,s;for(k=2;k<6;k++,k++){ s=1;for(j=k;j<6;j++) s+=j;}printf(“%d\n”,s);A.9 B.1 C.11 D.108、以下叙述正确的是____。

A.do_while语句构成的循环不能用其它语句构成的循环来代替B.do_while语句构成的循环只能用break语句退出C.用do_while语句构成循环时,只有在while后的表达式为非零时结束循环D.用do_while语句构成循环时,只有在while后的表达式为零时结束循环9、以下函数调用语句中,含有的实参个数是____。

func((exp1,exp2),(exp3,exp4,exp5));A.1 B.2 C.4 D.510、以下程序的输出结果是____。

double f(int n){ int i;double s=1.0;for(i=1;i<=n;i++) s+=1.0/i;return s;}main( ){ int i,m=3;float a=0.0;for(i=0;i<m;i++) a+=f(i);printf(“%f\n”,a);}A.5.500000 B.3.000000 C.4.000000 D.8.2511、以下程序段的输出结果是____。

int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4) m++;printf(“%d\n”,m);A.12 B.15 C.20 D.2512、以下程序中若第一个printf语句输出的是194,则第二个printf语句输出结果是____。

main( ){ int a[ ]={1,2,3,4,5,6,7,8,9,10},*p;p=a;printf(“%x\n”,p);printf(“%x\n”,p+9);}A.212 B.204 C.1a4 D.1a613、若有定义:int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是____。

A. a[p-a]B. *(&a[i])C. p[i]D. *(*(a+i))14、以下程序的输出结果是____。

main( ){ int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0];for(i=0;i<2;i++){ if(i==0) aa[i][i+1]=*p+1;else ++p;printf(“%d”,*p);}printf(“\n”);}A.23 B.26 C.33 D.3615、执行下列程序后,y的值是____。

main( ){ int a[ ]={2,4,6,8,10};int y=1,*p,x;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf(“%d\n”,y);}A.17 B.18 C.19 D.2016、以下程序的输出结果是____。

void sub(float x,float *y,float *z){ *y=*y-1.0;*z=*z+x;}main( ){ float a=2.5,b=9.0,*pa,*pb;pa=&a; pb=&b;sub(b-a,pa,pa);printf(“%f\n”,a);}A.9.000000 B.1.500000 C.8.000000 D.10.500000 17、下面程序的输出结果是____。

#include “stdio.h”main( ){ static char b[ ]= “Goodbye”;char *chp=&b[7];while(--chp>=&b[0]) putchar(*chp);putchar(‘\n’);}A.Goodbye B.gOODBYE C.无任何输出 D.eybdooG18、若有如下说明,则____的叙述是正确的。

struct st{ int a;int b[2];}a;A.结构体变量a与结构体成员a同名,定义是非法的B.程序只有在执行到该定义时才为结构体st分配存储单元C.程序运行时为结构体变量a分配6个字节存储单元D.不能将结构体类型说明与变量定义紧凑写在一起19、设有如下定义:struct std{ int a;float b;}data ,*p;若有p=&data;则对data中的成员变量a的正确引用是____。

A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a20、以下程序的输出结果是____。

main( ){ char x=040;printf(“%d\n”,x=x<<1);}A.100 B.160 C.120 D.64二、填空题(10个小题,每小题2分,共20分):1、若a是int型变量,则执行表达式 a=25/3%3 后,a的值为____。

2、C语言中用____表示逻辑值“真”。

3、用在循环结构中,可以结束本次循环的语句是____。

4、用数组名作为函数参数是地址传递方式。

地址传递是____(单向/双向)传递。

5、在二维数组初始化时,可以省略数组的____(行下标/列下标),系统会根据初值的个数,算出该下标的大小。

6、若输入字符‘A’,在以下while语句执行后ch的值为____。

while(ch=getchar( )==‘A’);7、所谓“指针”,就是____。

8、设有宏定义:#define MUL(z) (z)*(z),则执行以下语句后,输出结果为____。

printf(“%d\n”,MUL(1+2)+3);9、若有定义和语句:char str[ ]=“ABCD”,*p=str;printf(“%d\n”,*(p+4));则输出结果是____。

10、能够实现局部翻转(0变1,1变0)的位运算是____。

三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):1、若运行以下程序时,从第一列开始输入数据:2473<CR>(<CR>代表Enter),写出程序的执行结果。

#include “stdio.h”main( ){ char c;while((c=getchar( ))!=‘\n’)switch(c-‘2’){ case 0:case 1 :putchar(c+4);case 2 :putchar(c+4);break;case 3 :putchar(c+3);default:putchar(c+2);break;}printf(“\n”);}2、main( ){ int x=2,y=3,z=0;try(x,y,z);printf(“(2)x=%d,y=%d,z=%d\n”,x,y,z);}try(int x,int y,int z){ z=x+y; x=x*x; y=y*y;printf(“(1)x=%d,y=%d,z=%d\n”,x,y,z);}3、#include “stdio.h”#include “string.h”main( ){ char *p1=“abc”,*p2=“ABC”,str[50]=“xyz”;strcpy(str+2,strcat(p1,p2));printf(“%s\n”,str);}4、#include “stdio.h”#define NUM 8void invert(int *a,int n);main( ){ int a[NUM]={10,20,30,40,50,60,70,80},i;invert(a,NUM);for(i=0;i<NUM;i++)printf(“%4d”,a[i]);printf(“\n”);}void invert(int *a,int n){ int i,j,t;i=0;j=n-1;while(i<j){ t=a[i];a[i]=a[j];a[j]=t;i++;j--;}}四、编程题(2个小题,每小题10分,共20分):1、编写程序,计算如下公式的值:t=1-1/(2*2)-1/(3*3)-…-1/(m*m)。

例如,若m=5,则应输出0.536389。

要求:利用scanf函数输入m的值。

利用子函数形式,m充当参数,不能只利用main函数形式实现。

2、编写程序,从输入的10个字符串中通过比较,找出最小和最大的字符串进行输出。

要求:利用二维字符数组。

利用gets函数进行输入,puts函数进行输出。

第四套试题一、选择题(20个小题,每小题2分,共40分):1、D2、D3、B4、C5、C6、A7、D8、D9、B 10、A11、C 12、D 13、D 14、A 15、C 16、B 17、D 18、C 19、B 20、D二、填空题(10个小题,每小题2分,共20分):1、22、非零值3、continue4、双向5、行下标6、17、地址8、129、0 10、^(异或)三、读下面程序,写出执行结果(4个小题,每小题5分,共20分):1、6689772、(1)x=4,y=9,z=5(2)x=2,y=3,z=03、xyabcABC4、 80 70 60 50 40 30 20 10四、编程题(2个小题,每小题10分,共20分):1、main( ){ float fun(int m),t;int m;scanf(“%d”,&m);t=fun(m);printf(“t=%f\n”,t);}float fun(int m){ float t=1,s;int i;for(i=2;i<=m;i++){ s=1.0/(i*i);t=t-s;}return t;}2、#include “stdio.h”#include “string.h”main( ){ char str[10][20],s[20];int i;for(i=0;i<10;i++)gets(str[i]);for(i=1;i<10;i++)if(strcmp(str[0],str[i])>0){ strcpy(s,str[0]);strcpy(str[0],str[i]);strcpy(str[i],s);}for(i=0;i<9;i++)if(strcmp(str[i],str[9])>0) { strcpy(s,str[i]);strcpy(str[i],str[9]);strcpy(str[9],s);}puts(str[0]);puts(str[9]);}。

相关文档
最新文档