武汉理工大学C语言期末试题
c语言期末考试题库及详解答案
c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。
答案:int7. C语言中,用于输入输出的库函数分别是______和______。
答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。
答案:int*9. C语言中,用于定义函数的关键字是______。
答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。
答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。
答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。
答案:递归函数是一种函数自己调用自己的特殊函数。
递归函数通常用于解决可以被分解为相似子问题的问题。
递归函数需要有一个明确的终止条件,以防止无限递归。
四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。
答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。
武汉理工大学网络教育C语言程序设计(本)在线作业及期末考试复习题
C语言程序设计(本科)在线作业及期末考试复习题注:找到所考试题直接看该试题所有题目和答案即可。
查找按键:Ctrl+F 超越高度一、单选( 每题参考分值2.5分)1、若有以下类型说明,则叙述答案的是()。
typedef union {char name[10]; int age; }ustu,*umy;A. umy是指向共用体类型ustu的指针类型名B. ustu是一个共用体类型名C. umy是一个共用体类型名D. age是共用体类型ustu的成员正确答案:【C】2、以下程序的运行结果是()。
func(int a,int b){int c;c=(a>b)?(a-b):(a+b);return(c); }main(){ int x=7,y=3;printf("%d\n",func(x,y)); }A. 3B. 4C. 7D. 10正确答案:【B】3、若有定义:enum day{sun,mon, tue, wed, thu, fri, sat} ; ,则枚举常量sun、mon的值分别为()。
A. 0 1B. 7 1C. 1 2D. 7 0正确答案:【A】4、在C语言中,运算符″=″和″==″的功能分别是()A. 赋值运算和关系运算B. 关系运算和赋值运算C. 都是关系运算D. 都是赋值运算正确答案:【B】5、A. 1 2B. 2 3C. 3 3D. 3 4正确答案:【D】6、设有int p,q;以下不正确的语句是()A. p *=3;B. p/=q;C. p+=3D. p&&=q正确答案:【D】7、若有下面定义,能打印出字母'L'的语句是()。
struct class{ char name[8];int age;};struct class s[12]={"Zheng",16,"Lin",18,"Yang",19,"Guo",20};A. printf("%c\n",s[1].name[0]);B. printf("%c\n",s[2].name[0]);C. printf("%c\n",s[1].name);D. printf("%c\n",s[2].name);正确答案:【A】8、若有定义:int *p,k=4; p=&k;以下均代表地址的是()。
c语言大一期末试题
c语言大一期末试题第一篇:c语言大一期末试题补考试卷的题型、分值、覆盖范围、难易程度均和上学期的期末考试试卷一样。
故,可完全按照上学期期末考试的复习大纲以及训练题进行复习。
1.请编程实现:输入一单精度二维数组a[4][5],计算二维数组中的最大元素的值及其所在位置(行、列),并输出计算结果。
2.请编程实现:输入x的值,按下列公式计算并输出y的值 3x<10≤ x ≤ 20xx > 20 5.03.从键盘输入十个整数,对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。
4.计算10个整数中奇数的和及其偶数的和。
5.利用全局变量计算长方体的体积及三个面的面积。
6.只用一个if条件语句实现:输出100以内(不包含100)能被3整除且个位数为 6的所有整数。
9、intmain(){7、int k=9;intx=1,y=0,a=0,b=0;switch(k)switch(x){ { case 9: k+=1;case1:switch(y)case 10: k+=1;break;{ case 11: k+=1;case0:a++;break;default: k+=1;case1:b++;break;} } printf (“%d\n”,k);case2:a++;b++;break;case3:a++;b++;break;8、intmain(){int n;for(n=1;n<=10;n++){if(n%3==0)continue;printf(“%d”,n);}return 0;}}10、for(i=4;i>1;i--)for(j=1;j第二篇:大一C语言期末考试试题6.以下程序的输出结果为(D)。
main(){ char c;int i;for(i=65;i<68;i++){ c=i+32;switch(c){ case ‘a’:printf(“%c,”,c);break;case ‘b’:case ‘e’:printf(“ok,”);default: printf(“end”);} } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。
大学生期末c语言试题及答案
大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的元素类型必须一致C. 数组的下标可以是实数D. 数组的下标可以是负数答案:B3. C语言中,用于文件操作的库函数位于哪个头文件中?A. stdio.hB. math.hC. string.hD. stdlib.h答案:A4. 下列哪个运算符不能用于赋值?A. =B. +=C. *=D. %答案:D5. C语言中,用于定义一个函数的关键字是:A. functionB. defineC. defD. void答案:B6. 下列关于指针的描述中,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. C语言中,用于定义一个宏的预处理指令是:A. #defineB. #includeC. #pragmaD. #if答案:A8. 下列关于循环的描述中,正确的是:A. for循环可以没有初始化表达式B. while循环可以嵌套C. do-while循环至少执行一次D. 所有循环都可以使用break语句退出答案:C9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列关于函数的描述中,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以递归调用D. 函数可以嵌套定义答案:D二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是______。
答案:652. 若int a = 10; int b = 20; 则表达式a++ + b的结果是______。
武汉理工C语言正确选项
1.注释可以出现在C语言程序中的任何位置
2.C语言本身没有输入输出语句
3.一个C源程序可由一个或多个函数组成
4.一个C源程序必须包含一个main函数
5.C程序的基本组成单位是函数
6.花括号"{"和"}"可以作为函数体的定界符
7.C语言以接近英国国家的自然语言和数学语言为语言的表达形式
8. 一个算法应包含有限个步骤
9. 在计算机上实现的算法是用来处理数据对象的
10. 算法的目的是为了求解
11.一个C语言程序必定从主函数开始执行。
12. 函数体由符号 { 开始,用符号 } 结束。
13. C语言源程序文件的后缀是 C ,经过编译后,生成文件的后缀是 OBJ 经过连接生成文件的后缀是EXE 。
14.在C程序中,逗号运算符的优先级最低。
15. 在C程序中,APH和aph是两个不同的变量。
16. 若a和b类型相同,在执行赋值表达式a=b后b中的值将放入a中,而b中的值不变。
17. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
C语言期末试题及答案
C语言期末考试题及答案一. 单选题(共20题,每题2分,共40分)1. 以下运算符中优先级最高的是()A.<B.+C.&& D .!2. 下列说法正确的是()A. 在执行C语言程序时不是从main函数开始的B. C语言程序书写格式严格,一行内必须写一个语句C. C语言程序书写格式自由,一个语句可以分写在多行上D. C语言程序书写格式严格,一行内必须写一个语句,并要有行号3. 下面的符号常量定义中,正确的是()A.#define PI 3.14;B.#include PI 3.14;C.#define PI=3.14D.#define PI 3.144. 以下程序的输出结果是 ( )fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf("%d",a);}A.0B.29C.31D.无定值5. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )A.地址传递B.单向值传递C.由实参传给形参,再由形参传回实参D.传递方式由用户指定6. 假设int型变量占两个字节的存储单元,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数为______。
A.3B.6C.20D.107. 下列合法的数组定义是_________。
A.int a[]=”string”;B.int a[5]={0,1,2,3,4,5};C.char a=”string”;D.char a[]={0,1,2,3,4,5};8. 若给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为__________。
大一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语言期末考试题库大题及详解答案
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语言程序设计期末考试试题含答案一、选择题(每题 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语言试题
武汉理⼯C语⾔试题⼀、选择题1.Turbo C2.0中,若定义float a,则变量a在内存中分配的字节数是(B )。
A. 2B. 4C. 8D.162.不合法的字符常量是( B )。
A.‘\t’B.“A”C. ‘a’D. ‘\x32’3.Turbo C 2.0中,unsigned型数据的取值范围是( C )A.-215∽(215-1)B.-231∽(231-1)C.0∽(216-1)D.0∽(232-1)4.若int k=7,x=12;则能使值为3的表达式是(D)。
A. x%=(k%=5)B. x%=(k-k%5)C. x%=k-k%5D. (x%=k)-(k%=5)5.若有语句scanf(“%d,%d,%d”,&a,&b,&c);则在执⾏时输⼊正确的形式是(B )。
A.1↙2↙3↙B.1,2,3↙C.1 2 3↙D.1,2 3↙6.执⾏下列程序段时输出结果是(B)。
unsigned int a=65535;printf(“%d”,a);A.65535 B.-1 C.-32767 D.17.若有a=12,表达式a*=2+5的值是(D )。
A.7 B.17 C.29 D.848.若x≥0时,y=1,x<0时,y=-1,下⾯错误的程序段是( D )。
A.if (x>=0) y=1; B.y=-1;if (x<0) y= -1; if (x>=0) y= 1;C.if (x>=0) y=1; D.if (x>=0) y=1;else y= -1; y= -1;9.有int a=0xfffd;若以% d格式输出,则正确答案是( C )。
A.-1 B. -2 C. -3 D. -410. 要执⾏for(表1;表2;表3)循环,要求必须是( D )。
A. 表1的值为0B. 表1的值为⾮0C. 表2的值为0D. 表2的值为⾮0 11.下⾯不是逻辑运算符的是( A )。
c语言大一期末考试题库及详解答案
c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中的合法标识符?A. 3aB. intC. _aD. float答案:C2. C语言中,哪个关键字用于定义一个函数?A. ifB. whileC. functionD. void答案:D3. 在C语言中,以下哪个语句可以用于输入数据?A. scanf()B. printf()C. coutD. cin答案:A二、填空题1. 在C语言中,______关键字用于声明一个变量的存储类型。
答案:static2. 一个C语言程序的执行从______函数开始。
答案:main3. 在C语言中,______运算符用于计算两个数的乘积。
答案:*三、简答题1. 简述C语言中数组的定义和初始化方式。
答案:在C语言中,数组是一种基本的数据结构,用于存储相同数据类型的多个元素。
数组的定义格式为:类型名数组名[常量表达式];其中类型名是数组元素的数据类型,数组名是数组的标识符,常量表达式是数组的元素个数。
数组的初始化可以使用花括号{}将初始值包围起来,例如:int arr[5] = {1, 2, 3, 4, 5}。
2. 描述C语言中的指针和引用的区别。
答案:C语言中的指针是一个变量,它存储了另一个变量的内存地址。
指针可以被重新赋值为其他地址,并且可以进行算术运算。
引用在C语言中不存在,但在C++中,引用是别名,它为另一个已存在的变量提供了另一个名字。
引用一旦被初始化后,不能被重新赋值为其他变量的引用,也不能进行算术运算。
四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现对一个字符串进行反转。
c语言期末考试题及答案解析
c语言期末考试题及答案解析C语言期末考试题及答案解析一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D2. C语言中,以下哪个选项是正确的字符串定义?A. char str[10] = "Hello";B. char str[10] = {"Hello"};C. char str[] = "Hello";D. char str = "Hello";答案:C3. 在C语言中,以下哪个语句可以正确地交换两个整数变量a和b的值?A. a = b;B. b = a;C. a = a + b;D. a = a + b; b = a - b; a = a - b;答案:D4. 以下哪个函数不能用于数组元素的初始化?A. memsetB. memcpyC. strcpyD. memmove答案:C5. 在C语言中,以下哪个选项表示一个浮点型常量?A. 3.14B. 0.314e-2C. 314D. 0x3FF答案:B6. C语言中,以下哪个关键字用于定义函数?A. intB. floatC. voidD. return答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int a;C. int function(int a);D. int function(int);答案:C8. 以下哪个选项是C语言中的递归函数?A. void recursive(int n) {}B. void recursive() { recursive(); }C. void recursive(int n) { if (n > 0) recursive(n - 1); }D. void recursive(int n) { recursive(n + 1); }答案:C9. 在C语言中,以下哪个选项是正确的结构体定义?A. struct Person { int age; char name[50]; };B. struct { int age; char name[50]; } Person;C. Person struct { int age; char name[50]; };D. struct Person int age; char name[50];答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. *int ptr;C. int * ptr;D. ptr int *;答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________运算符可以获取变量的内存地址。
大一上c语言期末考试题库及详解答案
大一上c语言期末考试题库及详解答案在编写大一上C语言期末考试题库及详解答案时,需要确保内容的准确性和完整性。
以下是一份模拟的C语言期末考试题库及其详解答案的正文内容:一、选择题1. C语言中,以下哪个是正确的标识符?- A. 2variable- B. variable2- C. variable-variable- D. variable$答案:B详解:在C语言中,标识符可以由字母、数字和下划线组成,但不能以数字开头,也不能包含特殊字符如$或-。
2. 以下哪个是C语言中的整型常量?- A. 3.14- B. 'A'- C. 0x1A- D. 1e2答案:C详解:选项A是浮点数,选项B是字符常量,选项D是科学计数法表示的浮点数,而选项C是十六进制表示的整型常量。
二、填空题1. 在C语言中,一个简单的if语句的语法格式为:`if (________) { __________ }`。
答案:条件表达式;语句块2. 以下代码段的输出结果是什么?```cint a = 10, b = 20;if (a < b) {printf("%d", a + b);}```答案: 30三、简答题1. 简述C语言中数组的定义和初始化方法。
答案:在C语言中,数组是一种基本的数据结构,用于存储固定数量的相同类型的元素。
数组的定义格式为:`类型名数组名[数组大小]`。
初始化可以使用花括号包围的初始化列表,如:`int arr[5] = {1, 2, 3, 4, 5};`。
2. 描述C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针的主要用途包括动态内存分配、数组操作、函数参数传递等。
指针可以用于通过地址来间接访问和修改数据,增加了程序的灵活性。
四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个函数,用于计算一个整数的阶乘。
武汉理工大学《C语言程序设计》期末考试试卷(A卷)
武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业)一、单项选择题(本大题共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("=%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,910、巳知字母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、下列运算符中优先级最高的是。
C语言试卷1
…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………
…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线………
…
a)0~180个,每个字0.57元;
b)180~400个,超过180的部分,每个字0.65元;
c)>400个,超过400的部分,每个字0.95元;
1.从键盘输入若干字母,将小写字母变成其后的第四个字母, a-->e,b-->f,……,v-->z,w-->a……大写
字母则先变成小写字母再处理。
如:输入aBdEgWz ,则输出efhikad。
2.在主函数中定义一个二维数组s[20][3]来存放一个班级中20名学生的英语、高数和C语言3门课的考
试成绩(假设成绩都是整型),输入全部3门课的成绩,完成以下功能:
(1)求出该班各门课的平均成绩存入一个一维数组a[3]并输出。
(2)定义一个pass( )函数,统计3门课都通过(≥60)的学生的人数,并输出他们3门课的成绩。
大一c语言期末考试题及答案
大一c语言期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,定义一个数组时,数组的大小必须在编译时确定。
这个说法是:A. 正确B. 错误答案:A3. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. ::答案:D4. 在C语言中,以下哪个函数用于将字符串连接起来?A. strcatB. strcmpC. strcpyD. strlen答案:A5. C语言中,以下哪个函数用于将字符数组转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B6. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C7. C语言中,以下哪个关键字用于定义一个指针?A. *B. refC. ptrD. ref答案:A8. 在C语言中,以下哪个函数用于获取当前时间?A. timeB. dateC. clockD. now答案:A9. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. typedefC. unionD. struct答案:A10. 在C语言中,以下哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
答案:extern2. 当需要在C语言中定义一个无限循环时,可以使用________循环。
答案:while(1)3. 在C语言中,________关键字用于定义一个函数的返回类型。
答案:return4. C语言中,________函数用于输出格式化的数据到标准输出。
答案:printf5. 在C语言中,________关键字用于定义一个常量。
C语言试卷A(2013)
…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………武汉理工大学考试试卷(A卷)2012 ~2013 学年2 学期计算机程序设计基础(C语言)课程闭卷一、选择题(本题20分,每小题1分)则表达式(b=2, a=5, b++, a+b)的值是()2. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.5C. 2.5D. 0.03. 设char cl; , 则cl为小写英文字母字符的正确表达式为()A. ’a’<=c1<=’z’B. (cl>=’a’)&&(cl<=’z’)C. (cl>=a)&&(c1<=z)D. (’a’<=c1)| |(’z’>=c1)4. 一维数组a的正确说明语句为()A. int a(10);B. int n=10, a[n];C. int n;D. #define SIZE 10 //位于程序首部scanf(″%d″,&n);int a[SIZE];int a[n];5. 已知字符’A’的ASCII码值是65,且char cl=’A’, c2=’D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, DB. A, BC. 65, 68D. 65, 666. 正确的条件语句为()A. if((a=b;)>0)t=a;B. if((a=b)>0)then t=a;C. if(a>b)t=a;D. if(a<b={a++;b++});7. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和117.…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………。
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有()个元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉理工大学考试试卷(A、B卷)2010 ~2011 学年 2 学期 C语言程序设计课程闭卷一、单项选择题(每题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表格中的对应位置。
错选、多选或未选均无分。
1.以下叙述不正确的是______。
A.在C程序中,注释说明只能位于一条语句的后面。
B.一个C源程序可由一个或多个函数组成。
C.一个C源程序必须包含一个main函数。
D.C程序的基本组成单位是函数。
2.以下选项中,______是合法的C语言字符常量。
A. ″A″B.′ \x43 ′C. ′ ab ′D. ′ \084 ′3.以下不是合法的C语言赋值语句为______。
A.++a;B.n=(m=(p=0));C.a=b==c;D.k=a+b=1;4.设在C语言中,一个int型数据在内存中占用2个字节,则unsigned int型数据的取值范围为______。
A.0~255B.0~32767C.0~65535D.0~21474836475.已知字符′ b ′的ASCII码为98,语句printf(″ %d, %c″, ′ b ′, ′ b ′ + 1);的输出结果为______。
A.98,bB.语句不合法C.98,99D.98,c6.执行语句for(i=1;i++<4;);后,变量i的值是______。
A.3B.4C.5D.不定7.若有声明int a[3][4];,则对a数组元素的非法引用是。
A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]8.在C语言程序中,数组名做函数调用的实参时,传递给形参的是。
A.数组第一个元素的值 B.数组的首地址C.数组全部元素的值 D.数组元素的个数9.设有数组定义: char array [ ]="China"; 则数组 array所占的存储空间为。
A. 4个字节B. 5个字节C. 6个字节D. 7个字节10.若有定义int x, *p;,则以下正确的赋值表达式是。
A. p=&x;B. p=x;C.*p=&x;D.*p=*x;二、判断题(每题1分,共10分)请将答案填写在下面的表格中,正确填“√”,错误填“×”。
()1. 在C语言程序中,程序的执行总是从main()函数开始,在main()函数中结束。
()2. 利用scanf函数输入数据时,只有格式控制,没有输入项也能正确输入数据到内存,如scanf(″ a=%d , b=%d ″);。
()3. break语句只能用于switch语句体中。
()4. do…while语句的循环体至少无条件执行一次。
()5.构成数组的各个元素可以有不同的数据类型。
()6.可以利用变量对数组的下标进行动态定义,例如int n=10; int a[n];。
()7. 函数strlen("China\n")的值是7。
()8. 函数的定义一般由函数首部和函数体部分组成。
()9. 用户自定义的函数必须有返回值。
()10. 函数调用中的参数称为实际参数。
三、填空题(每空1分,共10分)1.C语言程序的基本结构可以分为:、、三种。
2.数组a[10]下标的范围是从________到________。
3.在C语言中,取地址运算符是,指针运算符是。
已知n为三位整数,即n>=100且n<=999,求n的百位数字、十位数字、个位数字的表达式分别为、和。
四、程序阅读题(每题5分,共15分)1.#include <stdio.h>main(){int x;scanf("%d",&x);if(x>15) printf("%d",x-5);if(x>10) printf("%d ",x);if(x>5) printf("%d\n",x+5);}若程序运行时从键盘输入12后回车,则输出结果为:。
2.main ( ){int i , j, s=0;for (i=1; i<=5; i++)for( j=1; j<=i; j++)s=s+2;printf("s=%d\n",s);}程序运行后的输出结果为:。
3.#include <stdio.h>main(){int a,b;int *p1,*p2,*p;scanf("%d %d", &a, &b);p1=&a; p2=&b;if(a<b){p=p1; p1=p2; p2=p;}printf("%d %d\n", a,b);printf("%d %d\n", *p1,*p2);}若程序运行时从键盘输入4和5后回车,则输出结果为:。
五、程序填空题。
(每空3分,共15分)1.一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),找出所有的这种数。
main(){int n, a, b, c;for(a=1;a<=9;a++)for (b=0; b<=9;b++)for(c=0;c<=9;c++){n= ;if( == n)printf("%d", n);}}2.定义求素数的prime函数,在main调用prime函数,求3~200内的所有素数。
int prime(int m){int i, flag;flag=1;for(i=2;i<=m-1;i++){if( ){;break;}}return flag;}main(){int prime(int);int n, judge;for(n=3;n<=200;n=n+2){judge= ;if(judge==1) printf("%-4d", n);}}六、程序编写题(每题10分,共30分)。
1.编程实现:输入实数a,b,c,假设a≠0,求二次方程ax2+bx+c=0实根的个数和实根的值。
(若方程有实根,输出根的个数和实根的值,若方程无实根,输出标志“no real roots”。
)2.编程实现求∑∑==+1012101i i ii 的值。
3.从键盘输入10个整数并存入一维整型数组a 中,利用冒泡法将数组a 中的10个数按照从大到小进行排序,请编程实现。
答案:一、单项选择题(本大题共10小题,每小题2分,共20分)1 2 3 4 5 6 7 8 9 10A B D C D C D B C A二、判断题(每题1分,共10分)1 2 3 4 5 6 7 8 9 10√××√×××√×√三、填空题(每空1分,共10分)1.顺序结构、分支结构(或选择结构)、循环结构2.0 93.& *4.n/100 (n/10)%10或 (n-100*(n/100))/10 n%10四、程序阅读题(每题5分,共15分)1.12 172.s=303. 4 55 4五、程序填空题。
(每空3分,共15分)1.100*a+10*b+cpow(a,3)+pow(b,3)+pow(c,3)或者a*a*a+b*b*b+c*c*c2.m%i==0flag=0prime(n)六、程序编写题(每题10分,共30分)。
1.编程实现:输入实数a,b,c,假设a≠0,求二次方程ax2+bx+c=0实根的个数和实根的值。
(若方程有实根,输出根的个数和实根的值,若方程无实根,输出标志“no real roots”。
)#include <stdio.h>#inlcude <math.h>main(){float a,b,c,x1,x2,s;printf("please input the value of a,b,c:\n");scanf("%f,%f,%f",&a,&b,&c); //2分s=b*b-4*a*c;if(s<0) printf("no real roots\n"); //2分else if(s==0){x1=x2=(-b/(2*a)); //2分printf("equation has one real root\n: x1=x2=%f", x1);}else {x1=-b/(2*a)+sqrt(s)/(2*a);x2=-b/(2*a)-sqrt(s)/(2*a); //2分printf("equation has two real roots\n: x1=%f,x2=%f", x1,x2); //2分} } 2. 编程实现求∑∑==+1012101i i ii 的值。
main() {int i, sum; //2分 sum=0; //2分 for(i=1;i<=10;i++) //2分 sum=sum+(i+i*i); //2分 printf("%d",sum); //2分 }3. 从键盘录入10个整数并存入一维整型数组a 中,利用冒泡法对数组a 中的10个数进行排序,请编程实现。
#include <math.h> main() {int a[10],i,j,temp; for(i=0;i<10;i++)scanf("%d",&a[i]); //2分for(i=0;i<9;i++) //2分 {for(j=0;j<9-i;j++) //2分 {if(a[j]<a[j+1]) {temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;} //4分 } }for(i=0;i<10;i++) printf("%5d",a[i]); }欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求。