《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。

A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。

√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main(){ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];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; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。

#include <stdio.h>main(){ char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}A)1 2 34 B)1, 2, 34 C)’1’,’2’,34 √ D)12 346. 以下选项中为合法整型常量的是()。

A) -080 √B) -80 C) -8e1.0 D) -80.0e7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。

A) 4 B) 16 √C) 32 D) 528.下列程序执行后的输出结果是()。

#include <stdio.h>void func(int *a, int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}√A)6 B)7 C)8 D)99.设有定义char grade = 'A'; 则以下给出的程序运行结果或说法正确的是()。

switch(grade){ case 'A':case 'B':case 'C': printf(">= 60 pass!\n");case 'D': printf("< 60\n");default : printf("error!\n");}A) >= 60 pass! B) < 60 C) error! √D) 以上结果都不正确10.以下程序执行后的输出结果是()。

#include <stdio.h>int main(){ int i = 1, j = 1, k = 2;if((j++ || k++ ) && i++ )printf("%d,%d,%d\n", i, j, k);return 0;}A) 1,1,2 B) 2,2,1 √C) 2,2,2 D) 2,2,311.执行完循环语句for(i = 1; i < 10; i++); 后,以下关于变量i的值及循环体的执行次数的说法正确的是()。

A) i的值是9,循环体执行9次B) i的值是9,循环体执行10次√C) i的值是10,循环体执行9次D) i的值是10,循环体执行10次12.以下程序的运行结果是()。

#include <stdio.h>int main(){ int m, n;for(m = 0, n = 10; m < n; m+=3, n--);printf("%d,%d\n",m,n);return 0;}A) 6,7 B) 7,6 √C) 9,7 D) 7,913.以下程序的运行结果是()。

#include <stdio.h>int main(){ int i;int a[3][3]={1,2,3,4,5,6,7,8,9};for(i = 0; i < 3; i++)printf("%d ",a[2-i][i]);return 0;}A) 1 5 9 √B) 7 5 3 C) 3 5 7 D) 5 9 114.下列可用于C语言用户标识符的一组是()。

A)void, define, WORD √B)a3_3,_123,CarC)For, -abc, IF Case D)2a, DO, sizeof15.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。

.A) a<>0 B) !a C) a=0 √D) a!=016.以下程序的输出结果是()。

#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n", x--, --y);}A) 9 9 √B) 10 9 C) 9 10 D) 10 1017.若有定义:char *name[] = {"Follow me","BASIC","Great Wall","FORTRAN"};,则name[2]的值是()。

A) 字符'G' B) 字符串"Great Wall"√C) 字符串"Great Wall"的首地址D) 不确定18.有以下程序,程序执行后的输出结果是()。

#include <stdio.h>void fun(char *p){ char *q = p;while( *q != '\0'){ (*q) ++;q++;}}int main(){ char a[] = {"Program"}, *p;p = &a[3];fun(p);printf("%s\n",a);return 0;}√A) Prohsbn B) Prphsbn C) Progsbn D) Program19.下面列出的C语言提供的合法的数据类型关键字是()。

A) Double √B) short C) integer D) Char20.字符(char)型数据在微机内存中的存储形式是()。

A) 反码B) 补码C) EBCDIC码√D) ASCII码21.设int a=12,则执行完语句a+=a-=a*a后,a的值是()。

A) 552 B) 264 C) 144 √D) -26423.能够完成如下函数计算的程序段是()。

-1 x<0Y= 0 x=01 x>0A) y=1; √B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;24.有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是()。

√A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=225.下面程序的输出结果是()。

#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}√A) #*#*# B) ##### C) ***** D) *#*#*26.C语言中while 和do-while 循环的主要区别是()。

.√A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句27.当对两个字符串进行比较时,应该使用的函数是()。

合集下载

c语言程序设计期末试题及答案

c语言程序设计期末试题及答案

c语言程序设计期末试题及答案一、选择题(每题2分,共20分)1. 以下选项中,哪个是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = "Hello", "World";D. char str[6] = "Hello", "World";答案:A4. C语言中,以下哪个函数用于将字符串连接起来?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:A5. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B6. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable_2D. variable-2答案:B7. C语言中,以下哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C8. 在C语言中,以下哪个选项是正确的二维数组定义方式?A. int arr[2][3];B. int arr[][] = {1, 2, 3, 4, 5, 6};C. int arr[2][3] = {1, 2, 3};D. int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};答案:D9. C语言中,以下哪个函数用于计算数组中元素的个数?A. sizeof()B. count()C. length()D. size()答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. open()C. fileopen()D. file()答案:A二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量并赋值为10的语句是____。

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

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

C语言程序设计期末复习题及参考答案1. 若变量a的值为10,b的值为20,则表达式a++ + ++b的结果是多少?答案:32解析:在表达式a++ + ++b中,a++表示先使用变量a的值,然后再对a的值进行自增操作;++b表示先对变量b的值进行自增操作,然后再使用变量b的值。

因此,a++ + ++b相当于10 + 21,结果为32。

2. 字符串连接函数strcat()的原型和功能是什么?答案:strcat()函数的原型为char *strcat(char *str1, const char *str2),其功能是将字符串str2追加到字符串str1的末尾,并返回拼接后的字符串起始地址。

3. 请简述switch语句的用法及其与if语句的异同点。

答案:switch语句用于根据不同的情况执行不同的代码分支。

其语法结构为:```cswitch (表达式){case 值1:代码块1;break;case 值2:代码块2;break;...default:默认代码块;break;}```switch语句与if语句的异同点如下:- 相同点:都用于根据条件执行不同的代码分支;- 不同点:1)switch语句的条件表达式只能是整型或字符型,而if语句的条件表达式可以是任意的关系表达式;2)switch语句针对的是多个离散的取值,if语句则根据条件的真假执行对应的代码;3)switch语句执行完一个匹配的分支后会跳出整个switch语句,而if语句在执行条件为真的分支后会继续执行后续的代码。

4. 请写出一个函数,实现将字符串中的大写字母转换为小写字母的功能。

答案:示例代码如下:```cvoid convertToLower(char *str){int i;for (i = 0; str[i] != '\0'; i++){if (str[i] >= 'A' && str[i] <= 'Z'){str[i] += 'a' - 'A';}}}// 使用示例:int main(){char str[] = "Hello World";convertToLower(str);printf("%s\n", str); // 输出:hello worldreturn 0;}```5. 请编写一个程序,从键盘输入一个整数n,然后计算并输出1到n之间的所有整数的累加和。

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

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

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

C语言程序设计复习题(含参考答案)

C语言程序设计复习题(含参考答案)

C语言程序设计复习题(含参考答案)C语言程序设计复习题(含参考答案)一、单项选择题(本题共30小题,每小题2分,共60分)在每小题列出的四个备选项中只有一个是符合题目要求的。

1. 以下正确的C语言自定义标识符是______。

A. _1aB. 2a_C. doD. a.122、假设所有变量均为整型,则表达式(x=3,y=4,y++, y-x`)的值是______。

A.7B.1C.6D.23. 设int a, x=2; 执行语句a=x>0?3*x:x=10; 后,变量x的值是_______。

A. 1B. 2C. 6D. 104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf("%d,%d,%d\n",x,y,z);执行后输出的结果是_________。

A. 2, 2, 0B. 3, 3,1C. 3, 2, 0D. 3, 2, 15. 在C语言中,strlen("\\TOP\t\65\"")的值是_______。

A. 5 B.7C. 8D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。

A. scanf("%5f",&x);B. scanf("%5d",&x);C. scanf("%f",x);D. scanf("%s",&x);7.若有int a=5;则逗号表达式a=2*6,a*3,a+5的值是_________。

A. 12B. 17C.36 D. 108. C语言程序中,整型常量的书写形式不包括_________。

A. 二进制B. 八进制C. 十进制D. 十六进制9.下面程序的输出结果是_____。

#includemain(){ float d=2.2; int x,y;x=6.2;y=(x+3.8)/5.0;printf("%f",d*y);}A. 4B. 4.4C. 2.2D. 010. 设int x;,则与计算︱x︱等价的表达式是_________。

c程序设计期末考试复习题

c程序设计期末考试复习题

c程序设计期末考试复习题一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef2. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strlenD. strcmp3. 如果一个变量被定义为 `static int count = 0;`,那么该变量的存储类别是什么?A. 自动存储期B. 静态存储期C. 外部存储期D. 寄存器存储期4. 在C语言中,哪个运算符用于计算两个整数的乘积?A. *B. /C. %D. ++5. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. goto6. 在C语言中,哪个函数用于将整数转换为字符串?A. atoiB. itoaC. atolD. tolower7. 在C语言中,哪个函数用于打开一个文件?A. fopenB. fcloseC. freadD. fwrite8. 如果一个函数在调用时没有返回任何值,那么该函数的返回类型是什么?A. voidB. intC. charD. float9. 在C语言中,哪个关键字用于定义一个指针?A. intB. charC. floatD. *10. 下列哪个是C语言中的合法数组声明?A. int [10] array;B. int array[10];C. int array = 10;D. int array = {1, 2, 3};二、填空题(每空2分,共20分)1. 在C语言中,用于定义一个函数的关键字是________。

2. 当需要在函数之间共享数据时,可以使用________存储类别。

3. 一个C程序的执行从________函数开始。

4. 标准输入输出库的头文件是________。

5. 用于输入数据的函数是________。

6. 在C语言中,数组的索引是从________开始的。

大学《C语言程序设计》期末考试试题题库(带详解答案)

大学《C语言程序设计》期末考试试题题库(带详解答案)

一、单项选择题1.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关键字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名2. 以下对结构变量stul中成员age的非法引用是Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age3.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是CA) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;4.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D)。

A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名5.语句int *p;说明了 C 。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针// 指针的定义教材P223D)p是函数名,该函数返回一指向int型数据的指针6.下列不正确的定义是(A)。

A.int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。

然而此时还未定义变量i因此编译器无法获得变量i的地址。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

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

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。

C程序设计教程期末复习题及答案

C程序设计教程期末复习题及答案习题 1 一、选择题1(在C#中 B 都是对象。

A 任何类型B 任何事物C 任何代码D 任何技术 2(对象包含数据和 A 的方法。

A 在该数据上工作B 调用C 函数调用D 传递参数 3(一个类是 D 的蓝本。

A 数据集合B 函数集合C 方法集合D 给定功能集合 4(.NET构架包含公用语言运行时期和 B 。

5(.NET的核心是 A 。

A CLRB Windows2000C DNAD 分解平台 6(C#程序以 B 扩展名保存编写的程序。

A .CS B .PS C .CSS D .SCB 的命名空间。

7(System是A 存储系统类B 控制台类C I/O操作D 新项目 8(namespace用于声明 B 。

A 新项目B 一个命名空间C 类与方法D 指令 9(每个C#程序必须有一个 D 方法。

A 类方法B 构造方法C MainD 重载方法二、问答题1. 面向对象编程的三大原则是什么,答:封装、继承和多态性。

2. 封装是什么,答:封装是用于隐藏对象实际的制作细节。

3. 继承是什么,答:继承是在建立新的特定对象时,可以使用现有对象的功能性。

4. 多态性是什么,答:多态性是程序代码能够依据实际对象所需而进行不同的行为。

5. .NET的核心构件包括哪些,答:(1).NET构造块服务或有计划的访问某些服务。

(2)将在新的Internet设备上运行的.NET设备软件。

(3).NET用户经验。

6. CLR的作用是什么,答:CLR是.NET的核心,它是一个运行时期环境,在该环境中,以不同语言编写的应用程序均能始终运行。

三、编程题使用.NET代码编辑器编写一个C#应用程序,以在屏幕打印出:C# is the Component-oriented language in C and C++ family of language.要求:(1) 使用using System命名空间,即定位System命名空间的Console类。

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。

A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。

√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int 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; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。

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