武汉理工大学C语言期末试题
- 格式:doc
- 大小:59.95 KB
- 文档页数:6
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;以下均代表地址的是()。
单选题 1.(A) 包含1个字符(B) 包含2个字符 (C) 包含3个字符(D) 是非法表示C 难度:较易 分值:1.02.(A)108 (B) 18 (C) 12 (D)2A 难度:较易 分值:1.03.(A)5 18 7 16 9 12 (B)15 18 17 16 19 12 (C)15 8 17 6 19 2 (D)5 8 76 9 2A难度:较易分值:1.04.(A) -1 (B) 2 (C) 1 (D) 0D难度:较易分值:1.05.(A) 2 (B) 3 (C) 6 (D) 7D难度:较易分值:1.06.(A) S是一个结构体类型名(B) p是一个结构体类型名(C) p是指向结构体类型S的指针类型名(D) no是结构体类型S的成员B难度:较易分值:1.0 7.(A)(B)(C)(D)B难度:较易分值:1.0 8.(A)(B)(C)(D)B难度:较易分值:1.09.(A)(B)(C)(D)D难度:较易分值:1.010.(A) 0 (B) 3 (C) 4 (D) 无限C难度:较易分值:1.0 11.(A)(B)(C)(D)C难度:较易分值:2.0 12.(A)(B)(C)(D)B难度:较易分值:2.0 13. 对二维数组的正确定义是()(A)(B)(C)(D)C难度:较易分值:2.0 14.(A)(B)(C)(D)C难度:较易分值:2.015.(A) 11 (B) 10 (C) 9 (D) 8B难度:较易分值:2.016. 以下叙述正确的是()(A) 宏名必须用大写的英文字母表示(B) 宏定义不仅是符号替换,也可以赋值(C) 宏替换是在程序编译时完成的,不占用程序运行时间(D) 引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致B难度:较易分值:2.017. 以下属于C语言保留字的是()(A) fopen (B) include (C) get (D) unsignedD难度:较易分值:2.0 18. 在循环语句的循环体中,break语句的作用是()。
大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2variableB. _variableC. variable2D. variable-2答案:C2. 下列哪个选项是C语言中的关键字?A. defineB. typedefC. includeD. using答案:B3. 在C语言中,以下哪个选项表示的是逻辑与运算?A. &&B. ||C. !D. =答案:A4. C语言中,以下哪个选项是正确的注释方式?A. /* 这是注释 */B. // 这是注释C. /* 这是注释 */D. # 这是注释答案:A5. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. C语言中,以下哪个选项是正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int func(int a, int b);B. int func(int a, int b) {}C. int func(int, int);D. int func(int a, int b) = 0;答案:A8. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = {'H', 'e', 'l', 'l', 'o'};C. char str[] = "Hello";D. char str[] = {'H', 'e', 'l', 'l', 'o'};答案:A10. C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50];} student;D. struct Student {int id;char name[];} student;答案:A二、填空题(每题2分,共20分)1. 在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语言期末考试题库大题及详解答案一、简答题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语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
武汉理工大学考试试卷(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;,则以下正确的赋值表达式是。
大学生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值的语句是。
武汉理⼯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语言期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. stringC. floatD. double答案:A2. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. class答案:A3. 在C语言中,以下哪个不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ==D. ::5. C语言中,用于声明一个函数的关键字是?A. functionB. defC. voidD. int答案:C6. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!D. 'Hello, World!'答案:A7. C语言中,用于执行循环的关键字是?A. loopB. repeatC. whileD. do答案:C8. 下列哪个选项是C语言中的正确注释?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment答案:A9. C语言中,用于定义一个枚举类型的关键字是?B. typedefC. unionD. struct答案:A10. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[] = {1, 2, 3, 4, 5};D. int arr[5] = {1, 2, 3, 4};答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个全局变量的关键字是________。
武汉理工大学《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语言程序设计期末考试试题含答案一、选择题(每题 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 选项初始化方式错误,应该用花括号。
…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………
…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线………
…
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语言程序设计。
单选题1。
(一)包含1个字符(二)包含2个字符(三)包含3个字符(四)是非法的,以表示难度:更容易得分:1.02。
(一)108(二)18(三)12(四)2困难:更容易得分:1.03。
(a)5 18 7 16 9 12(b)15 18 17 16 19 12(c)15 8 17 6 19 2(d)5 8 7 6 9 2a困难:更容易得分:1.04。
(一)-容易得分:1.02。
(一)108(二)18(三)12(四)2困难:更容易得分:1.03。
(a)5 18 7 16 9 12(b)15 18 17 16 19 12(c)15 8 17 6 19 2(d)5 8 7 6 9 2a困难:更容易得分:1.04。
更简单的分数:1.05。
(一)2(二)3(三)6(四)7难度:更容易得分:1.06。
S是结构类型名,p是结构类型名,p是指向结构类型的指针类型名,不,是结构类型的成员,难点:更容易得分:1.07。
困难:更容易得分:1.08。
困难:1.09。
困难:更容易得分:1.010。
(一)0(二)3(三)4(四)无限C难度:更容易得分:1.011。
困难:更容易得分:2.012。
困难:更容易得分:2.013。
二维数组的正确定义是()(a) (b) (c) (d) c困难:更容易得分:2.014。
困难:更容易得分:2.015。
难度:更容易得分:2.016。
以下陈述是正确的()(a)宏名称必须用大写英文字母表示(B)宏定义不仅是符号替换,而且是赋值(c)宏替换在程序编译时完成,不占用程序运行时间(d)当引用带参数的宏时,宏定义中的实际参数和形式参数类型应与难度(B)一致:更容易得分:2.017。
下列保留字在C中是()(a) fopen (b)包括(c) get (d) unsigned 困难:2.018。
在循环语句的循环体中,break语句的功能是()。
(a)在break 语句之后继续执行循环体的语句,(b)提前结束循环,然后执行循环后的语句,(c)结束当前循环,(d)暂停程序运行,以及(c)困难: 更容易得分:2.019。
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解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。
2022年武昌理工学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、假设变量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;_______;2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:charc='\010';则变量c中包含的字符个数为_______。
5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。
5x7+3x6-4x5+2x1+x3-6x2+x+106、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
9、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
10、下面程序段的运行结果是_______。
char*s1="AbcdEf", *s2="aB";int t;s1++;t=(strcmp(s1,s2)>0);printf("%d\n",t);二、选择题11、下面4个选项中,是C语言关键字的选项是( )。
c语言期末考试试题及答案一、选择题1. C语言中,用于表示整数常量的数据类型是()。
A. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。
A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。
A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。
A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。
A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。
答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。
答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。
答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。
答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。
答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。
()答案:正确2. 在C语言中,所有的函数都有返回值。
()答案:错误3. 指针变量的地址可以通过使用&运算符获得。
()答案:正确4. 在C语言中,long int和int类型的大小是相同的。
()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。
…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………武汉理工大学考试试卷(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.…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………。
一、单选(共计100分,每题2.5分)1、若已定义int a=11; 执行以下语句后的输出结果是()。
printf("a=%d,a=%o,a=%x\n",a,a,a) ;A. a=11, a=11, a=bB. a=11, a=13, a=bC. a=11, a=13, a=cD. a=11, a=12, a=132、A.B.C.D.3、以下程序运行后,文件test.txt的内容是()。
#include <stdio.h> main() { FILE *fp; char str[][10]={"first","second"}; fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str[0]); fclose(fp); fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str[1]); fclose(fp); }A. firstB. secondC. first secondD. second first4、若有以下定义:struct node { int data; struct node *next; } struct node *head,*p; 已建立如下图所示的链表: p ↓┌──┬──┐┌──┬──┐┌──┬──┐head →│data│next┼→│data│next┼→... →│data│NULL│└──┴──┘└──┴──┘└──┴──┘能删除指针p所指向结点的程序段是()。
A. p = p->next; head->next=p->next; free(p);B. free(p); p = p->next; head->next=p->next;C. head->next = p->next; free(p);D. free(p); head->next = p->next;5、若有定义:int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; ,则()表达式是错误的。