《高级语言程序设计(C)》期末考试试题

合集下载

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

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

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。

要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。

高级语言程序设计(C)答案

高级语言程序设计(C)答案
Main()
{int n,x,min;
Scanf(“%d”,&n);/*输入处理的整数个数*/
Scanf(“%d”,&x);/*输入要处理的第一个数*/
min=x;
For(i=2;i<=n;i++)/*用循环找出几个整数的最小值*/
{
scanf(“%d”,x);
if(max>x) min=x;
}
Printf(“%d”,min);
for ( i=0; i<5; i++,aPtr++, bPtr++)
{
*aPtr +=i;③
*bPtr *=i;④
}
}
i
0
1
2
3
4
5
6
7
8
9
a
2
3
5
7
9
11
b
0
0
6
18
36
60
i
0
1
2
3
4
5
6
7
8
①*aPtr
2
3
4
5
6
7
③*aPtr
2
3
5
7
9
11
②*bPtr
0
3
6
9
12
15
④*bPtr
0
0
6
18
36
if(a[i]==a[j]) {i--; break;}
if(j<0) printf("%d ",a[i]);
}
}
程序
说明
1

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

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

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案一、选择题(共20题,每题3分,共60分)1. 下列四个选项中,均是合法的整型常量的选项是()A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x2. 下列四个选项中,均是不合法的浮点数的选项是()A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e33. 合法的C语言字符常数是()A.'\t' B. "A"C.54 D. A4. 在C语言中,要求运算数一定是整型的运算符是()A./ B. ++C.!= D. %5. 字符串常量”mine”的字符个数是()A.4 B. 5C.6 D. 76. 以下属于非法的C语言转义字符的是()A.'\b' B. '0xf'C.'\037' D. '\'7. 若x、y、z均为int型变量,则执行以下语句后的输出是()x=(y=(z=10)+5)-5;printf("x=%d, y=%d, z=%d\n",x,y,z);y=(z=x=0,x+10);printf("x=%d, y=%d, z=%d\n",x,y,z);A. x=10, y=15, z=10B.x=10, y=10, z=10x=0, y=10, z=0x=0, y=10, z=0C.x=10, y=15, z=10D. x=10, y=10, z=10x=10, y=10, z=0 x=10, y=10, z=08. 在以下一组运算符中,优先级最高的运算符是()A.<= B. =C.% D. &&9. 已知:int x; float y; 所用的scanf调用语句格式为:scanf( “x=%d, y=%f”, &x, &y );为了将数据10和66.6分别赋给x和y,正确的输入应当是()A.x=10, y=66.6<回车> B. 10, 66.6<回车>C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车>10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()(注:□表示空格,<CR>表示回车)int a1, a2,;char c1, c2;scanf( “%d%c%d%c”, &a1, &c1, &a2, &c2 );A.10□A□20B<CR> B. 10□A□20□B<CR>C.10A20B<CR> D.10A20□B<CR>11. 能正确表达:“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)C.(x>=1)&&(x<=10) || (x>=200)&&(x<=210)D. (x>=1) || (x<=10)&&(x>=200) || (x<=210)12. 假定所有变量均已正确说明,下列程序段运行后x的值是()a=b=c=0; x=35;if(!a) x--;else if (b);if(c) x=3;else x=4;A.34 B. 4C.35 D. 313. 若变量c为char类型,能正确判断出c为大写字母的表达式是()A.'A'<=c<= 'Z' B. (c>= 'A')||(c<= 'Z')C.('A'<=c)and ('Z'>=c) D. (c>= 'A')&&(c<= 'Z')14. 若给定条件表达式:(!n) ? (c++) : (c--),则与表达式n等价的表达式是()A.n==0 B. n==1C.n!=0 D. n!=115. 已知:int a=4, b=5, c; 则执行表达式c=a=a>b后变量a的值为()A.0 B. 1C.4 D. 516. 定义int i=1; 执行语句while(i++<5); 后,i的值是()A.3 B. 4C.5 D. 617. 合法的数组说明是()A.int a[] = “string”; B.int a[] = { 0, 1, 2, 3, 4, 5 }; C.char a = “string”; D.char a[] = { 0, 1, 2, 3, 4, 5 };18. 当调用函数时,实参是一个数组名,则向函数传送的是()A.数组的长度 B. 数组的首地址C.数组每一个元素的地址 D. 数组每个元素中的值19. 函数调用:strcat(strcpy(str1,str2),str3)的功能是()A.将串str1复制到串str2中后再连接到串str3之后B. 将串str1连接到串str2之后再复制到串str3之后C.将串str2复制到串str1中后再将串str3连接到串str1之后D. 将串str2连接到串str1之后再将串str1复制到串str3中20. 已知:int a[]={1,2,3,4,5,6,7,8,9,10.11.12}, *p=a; 则(*p) 的值是()A.1 B. 2C.3 D. a二、判断题:(共10题,每题2分,共20分)()1.C语言中能使用关键字作为标识符。

c高级程序设计试题及答案

c高级程序设计试题及答案

c高级程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个函数用于将字符串s复制到字符串t中?A. strcat(s, t)B. strcpy(s, t)C. strcmp(s, t)D. strncat(s, t)答案:B3. 在C语言中,下列哪个运算符用于执行逻辑与操作?A. &&B. ||C. !D. ~答案:A4. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A5. 在C语言中,下列哪个函数用于打开一个文件?A. fopenB. fcloseC. freopenD. remove答案:A6. 下列哪个选项是C语言中的合法整型常量?A. 123B. 0x1AC. 1.23D. 0123答案:A7. 下列哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 在C语言中,下列哪个运算符用于执行算术右移操作?A. <<B. >>C. <=D. >=答案:B9. 下列哪个函数用于将整数n转换为字符串并存储在s指向的数组中?A. sprintf(s, "%d", n)B. scanf(s, "%d", &n)C. printf("%d", n)D. scanf("%d", &n)答案:A10. 在C语言中,下列哪个选项是正确的多行字符串字面量?A. "Hello, world"B. "Hello,\nworld"C. "Hello, " "world"D. "Hello, " 'world'答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针。

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语言中,数组的元素默认初始化为______。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共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("%3d%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、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

大学高级语言程序设计期末考试试卷

大学高级语言程序设计期末考试试卷

大学高级语言程序设计期末考试试卷一、填空题(每空1分,共10分)1.程序设计的基本控制结构有_________________、_________________、_________________。

2.列出两种不同的算法表示方法_________________、_________________。

3.在C语言中,要求运算量必须是整型的运算符是_________________。

4.若s是int型变量,且s=6,则表达式(s+1)%2的值为_________________。

5.数组intA[2][3];中有_________________个元素,首行首列的元素为_________________。

6.表达式9|5的结果是_________________。

二、单项选择题(每题1.5分,共30分)1.下列叙述中正确的是()。

A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言所有函数都是用户自定义函数2.下列选项中,合法的C语言关键字是()。

A.VARB.cherC.integerD.default3.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c 赋予33.0,不正确的输入形式是()。

A.10<回车>B.10.0,22.0,33.0<回车>22<回车>33<回车>C.10.0<回车>D.1022<回车>22.033.0<回车>33<回车>4.下面四个选项中,哪个选项是合法变量()。

A.4asB.a#3C._3aD.“a”5.以下选项中合法的字符常量是()。

A."B"B.'\010'C.68D.D6.设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()。

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

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

c语言程序设计期末考试题目及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,以下哪个是正确的整型常量?A. 0x12B. 0x12.5C. 12.5D. 0x12.5e答案:A3. 若有以下定义,int a=10, b=20; 则以下哪个表达式的值不为10?A. a+bB. a-bC. a%bD. a*b答案:D4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World", "World"答案:C5. 以下哪个选项不是C语言中的运算符?A. +=B. ||C. &&D. :答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 下列哪个选项是C语言中的合法浮点数?A. 3.14159B. .14159C. 3e14D. 3.14.59答案:C8. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a = {1, 2, 3, 4, 5};D. int a[5] = 1, 2, 3, 4, 5;答案:B9. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int, int);B. int add(int a, int b);C. int add(int, int) {}D. int add(a, b);答案:A10. C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int id; char name[20]; };B. struct { int id; char name[20]; } Student;C. struct Student { int id; char name; };D. struct Student { int id; char name[20]; int age; };答案:D二、填空题(每题3分,共15分)1. 在C语言中,`printf`函数用于输出信息到______。

高级语言程序设计-期末测试卷4

高级语言程序设计-期末测试卷4

高级语言程序设计试卷4姓名: 班级: 学号序号 一 二 三 四 五 总分得分一、 选择题(每小题2分,共40分)1、c语言的函数主体必须用以下( )符号括起来A、( ) B、“ ”C、{ } D、/* */2、若有以下类型说明语句:char a; int b; float c; double d; 则表达式a/b+d-c的结果类型为 ( )A)float B)char C)int D)double3、判断char型变量c1是否为大写字母的正确表达式( )A、 ’A’<=c1<=’Z’B、 (c1>=’A’)&(c1<=’Z’)C、 (c1>=’A’)&&(c1<=’Z’)D、 (‘a<=c1’)AND(‘Z’>=c1)4、下面哪个表达式的值为4( )A、11/3 B、11.0/3 C、(float)11/3 D、(int)(11.0/3+0.5) 5、在C语言中逻辑“真”等价于以下( )A、不等于0的数 B、大于0的数 C、小于0的数 D、整数16、指出下面不合法的标志符( )A、3ab B、ABC C、a_3 D、_stu2 7、该源程序执行后,假如输入2,5,屏幕上显示什么( )void main(){ int a,b,sum;scanf("%d,%d",&a,&b);sum=a+b;printf("sum=%3d\n",sum);} A、sum=%d\n B、7 C、sum= 7 D、sum=218、c语言在上机调试时,编译源程序和执行程序时应按下面哪些键( )A、F6、F9B、F8、Alt+F9C、Ctrl+F6,F9D、F9,Ctrl+F99、在调用一个函数的过程中直接或间接地调用函数本身,这就构成了函数的__ 。

A. 迭代调用B. 递归调用C. 地址传递D. 任意调用10、getchar 函数可以从键盘输入一个( )A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值11、下列程序的运行结果为( )main(){ int a,b,c;a=7;b=8;c=9;if(a>7)a=b,b=c;c=a;printf("a=%d b=%d c=%d\n",a,b,c);}A、a=7 b=8 c=7B、a=7 b=9 c=7C、a=8 b=9 c=7D、a=8 b=9 c=812、下列程序执行后输出的结果为( )#include<stdil.h>abc(){ static int x=0; ++x; printf("%d",x);}main(){ abc(); abc();abc();}A、000 B、111 C、1,2,3 D、12313、下列程序的输出结果为( )main(){ int a[5]={2,4,5,6,10},*p;p=a; printf("%d",*(P++)); printf("%d",*p); }A、44B、22 C、24 D、4 214、这段程序运行的结果是main(){ printf("\\C Program\\\n");}A. C ProgramB.C Program\nC. \C Program\D. "\\C program\\"15、以下程序的输出结果为( )#include<stdio.h>main(){ int a=010,b=10; printf(“%d,%d\n”,a++,--b); }A、10,10B、8,10C、10,9D、8,916、若a为整型变量,且有以下语句 ( )a=-017L; printf("%d\n",a);则下面哪个说法是正确的?A. 赋值不合法B. 输出值为-17C. 输出为不确定值D. 输出值为-1517、C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是A)float型 B) int 型 C) long型 D) double型18、已知学生记录描述如下,下面对结构体成员”computer”的赋值方式正确的是( )struct student{ int num; char name[8];struct{folat math;folat engl;float computer;}mark ;} std ;A)student . computer=84 B) mark . computer=84C) std . mark . computer=84 D) std . computer=8419、当定义一联合体变量时系统分配给它的内存是( )A、结构中每一个成员所需的内存量B、结构中最后一个成员所需的内存量C、结构体成员中占内存量最大者所需的容量D、结构体中各成员所需内存量的总和20、已知有以下的说明int a[]={8,1,2,5,0,4,7,6,3,9}; 那么a[*(a+a[3])]的值为( )A、2B、1C、8D、0二、填空题(每小题2分,共20分)1、若已知a=10,b=15,c=0,则表达式a*b||c的运算结果为_________。

西安电子科技大学网络与继续教育学院2020 学年下学期《高级语言程序设计(C)期末考试试题答案

西安电子科技大学网络与继续教育学院2020 学年下学期《高级语言程序设计(C)期末考试试题答案
}
}
return 0;
}
2.1初始化累计和的变量
2.2第二个for循环,寻找当前循环次数的因子,可以在算因数时只算到i/2,这样能够减少运算量。
2.2.1 求当前数的因子之和
2.3判断当前循环次数是否为完数,是则输出
3.结束
2
(2)源码:
#include <stdio.h>
void ma
...
1+2+3+...+n
sum
1
1+(1+2)
1+(1+2)+(1+2+3)
...
1+(1+2)+(1+2+3)+...+(1+2+3+...+n)
2、
3、
4、
表格中,’l’都是小写的L
五、
1、
(1)伪代码:
1.定义次数变量、累计和的变量、因子变量
2.第一个for循环,控制循环次数一直到1000
#include <stdio.h>
int fun(int array[3][3])
{
int temp;
for(int i=0;i<3;i++)
{
for(int j=i;j<3;j++)
{
//矩阵值替换
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
if(sum==num)//判断num是否为完数
{

秋季《高级语言程序设计》期末试卷

秋季《高级语言程序设计》期末试卷

2017年秋季《高级语言程序设计》期末试卷1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是_____________ 。

(本题2.0分)A、链接程序B、解释程序C、编译程序D、编辑程序学生答案:B标准答案:C解析:得分:02. ( 单选题 ) C语言程序编译时,程序中的注释部分()。

(本题2.0分)A、参加编译,并会出现在目标程序中B、参加编译,但不会出现在目标程序中C、不参加编译,但会出现在目标程序中D、不参加编译,也不会出现在目标程序中学生答案:D标准答案:D解析:得分:23. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分)A、必须为下划线B、可以是字母、数字和下划线中的任意一种C、必须为字母或下划线D、必须为字母学生答案:C标准答案:C解析:得分:24. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分)A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束学生答案:C标准答案:C解析:得分:25. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分)A、swicthB、chanC、caseD、default学生答案:D标准答案:D解析:得分:26. ( 单选题 ) C语言程序的基本单位是()(本题2.0分)A、程序行B、语句C、函数D、字符学生答案:C标准答案:C解析:得分:27. ( 单选题 ) 组成C语言程序的是( )。

(本题2.0分)A、过程B、函数C、子程序D、主程序和子程序学生答案:B标准答案:B解析:得分:28. ( 单选题 )有以下程序,输出结果是()float fun(int x,int y){ return(x+y); }main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); }(本题2.0分)A、9B、21C、9.0D、编译出错学生答案:A标准答案:A解析:得分:29. ( 单选题 )有以下程序,输出结果是()float fun(int x,int y){ return(x+y); }main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c)); }(本题2.0分)A、9B、21C、9.0D、编译出错学生答案:A标准答案:A解析:得分:210. ( 单选题 ) 在下列叙述中,正确的是()(本题2.0分)A、下面的程序有一个整型输出值:main(){int a;a=pp();printf(“%d”,a);}void pp(){ … }B、以下程序的运行结果为1,3,5,7main(){static int a[4]={1,3,5,7};printf(“%d,%d,%d,%d\n”,a);}C、以下程序中的PRINT()是一个函数#define PRINT(V) printf(“V=%d\t”, V)main(){int a,b;a=1;b=2;PRINT(a);PRINT(b);}D、以下两个语句是等价的for(;(c=getchar())!=‘\n’;printf(“%c\n”, c));for(;(c=getchar())!=‘\n’;) printf(“%c\n”, c);学生答案:D标准答案:D 解析:得分:211. ( 单选题 )以下程序的输出结果是()。

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

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

c程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. 下面哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. %答案:A3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B4. 下列哪个选项是正确的C语言变量声明?A. int num = 10;B. int num = "10";C. int num = '10';D. int num = 10.0;答案:A5. C语言中,以下哪个语句用于循环执行代码块?A. forB. whileC. ifD. switch答案:A6. 在C语言中,以下哪个函数用于计算数组中元素的总和?A. sum()B. count()C. average()D. max()答案:A7. 下列哪个选项是C语言中正确的注释格式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A8. 在C语言中,如何定义一个指向整数的指针?A. int *p;B. int *p = 0;C. int *p = 10;D. int p = 10;答案:A9. 在C语言中,以下哪个选项是正确的函数定义?A. int function() {}B. int function() { return 0; }C. int function() { return; }D. int function() { return 1; }答案:B10. 下列哪个选项是C语言中正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. 'Hello, World'答案:A二、填空题(每题3分,共15分)1. 在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)后附答案

学习中心/函授站_姓名学号西安电子科技大学网络与继续教育学院2019学年上学期《高级语言程序设计(C)》期末考试试题(综合大作业)考试说明:1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片);2、考试必须独立完成,如发现抄袭、雷同均按零分计;3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净。

一、选择题(本题共20道小题,共40分。

)1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值2. 下面程序的输出是void prtv(int *x){ printf("%d\n", ++(*x));}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 263. int x=10, y=20, z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x, y, z的值是A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=204. 设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1))后,z的值为A)出错 B)42 C)48 D)545. 逻辑运算符两侧运算对象的数据类型是()。

A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据6. 当执行以下程序段时x=-1;do { x=x*x;}while(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误7. int x=3;do{ printf("%3d",x-=2);}while(!(--x));以上程序段的输出结果是A) 1 B) 3 0 C) 1-2 D) 死循环8. main(){int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } 以上程序段的输出结果是A)k=11,k=12,k=11 B)k=11,k=13,k=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b9.以下程序的输出结果是()。

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

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

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,下列哪个选项是合法的数据类型?A. intB. floatC. characterD. string2. 关于C语言中的变量,以下哪个说法是正确的?A. 变量可以在程序中的任何位置声明B. 变量在使用前必须先声明C. 变量不能重复声明D. 变量的作用域可以是全局的,但不能是局部的3. 在C语言中,以下哪个操作符用于取模?A. %B. /C.D. &4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. class二、填空题(每题2分,共20分)6. 在C语言中,标准输入输出头文件是_________。

7. 一个整型变量占用_________个字节。

8. 如果一个整型变量声明为`int a = 5;`,那么`printf("%d", a++);`的输出是_________。

9. 在C语言中,函数返回值的类型默认是_________。

10. 指针是一种特殊类型的变量,用于存储_________的地址。

三、编程题(共40分)11. 编写一个C程序,实现一个简单的计算器,包括加、减、乘、除四种运算。

12. 编写一个C程序,实现一个函数,该函数接受一个整数数组和一个整数n,返回数组中与n相等的元素个数。

13. 编写一个C程序,实现一个结构体`Student`,包含学生的姓名、学号和成绩。

编写一个函数,输入学生的信息并打印出来。

### 答案一、选择题答案1. A. int2. B. 变量在使用前必须先声明3. A. %4. A. malloc()5. A. struct二、填空题答案6. stdio.h7. 48. 59. int10. 变量三、编程题答案11. 计算器程序示例:```c#include <stdio.h>int main() {char operator;double firstNumber, secondNumber;printf("Enter an operator (+, -, , /): ");scanf("%c", &operator);printf("Enter two operands: ");scanf("%lf %lf", &firstNumber, &secondNumber);switch(operator) {case '+':printf("%.1lf + %.1lf = %.1lf", firstNumber, secondNumber, firstNumber + secondNumber);break;case '-':printf("%.1lf - %.1lf = %.1lf", firstNumber, secondNumber, firstNumber - secondNumber);break;case '':printf("%.1lf %.1lf = %.1lf", firstNumber, secondNumber, firstNumber secondNumber);break;case '/':if(secondNumber != 0.0)printf("%.1lf / %.1lf = %.1lf", firstNumber, secondNumber, firstNumber / secondNumber);elseprintf("Divide by zero situation.");break;default:printf("Error! operator is not correct");}return 0;}```12. 数组中与n相等的元素个数函数示例:```c#include <stdio.h>int countOccurrences(int arr[], int n, int size) {int count = 0;for (int i = 0; i < size; i++) {if (arr[i] == n) {count++;}}return count;}int main() {int arr[] = {1, 2, 3, 4, 5, 2, 2};int n = 2;int size = sizeof(arr) / sizeof(arr[0]);int count = countOccurrences(arr, n, size);printf("Number of occurrences of %d is %d", n, count);return 0;}```13. 学生信息结构体及打印函数示例:```c#include <stdio.h>typedef struct {char name[50];int studentID;float grade;} Student;void printStudentInfo(Student student) {printf("Name: %s\n", );printf("Student ID: %d\n", student.studentID); printf("Grade: %.2f\n", student.grade);}int main() {Student student;printf("Enter name: ");scanf("%s", );printf("Enter student ID: ");scanf("%d", &student.studentID); printf("Enter grade: ");scanf("%f", &student.grade);printStudentInfo(student);return 0;}```。

高级语言c程序设计试题及答案

高级语言c程序设计试题及答案

高级语言c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,用于定义变量的关键字是()。

A. varB. defineC. intD. let答案:C3. 下列关于C语言函数的描述中,正确的是()。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型必须与定义时一致D. 函数可以嵌套定义答案:B4. 在C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. =答案:A5. 下列关于C语言数组的描述中,正确的是()。

A. 数组的下标从0开始B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后可以改变答案:A6. 在C语言中,用于定义指针的关键字是()。

A. ptrB. pointC. *D. &答案:C7. 下列关于C语言中结构体的描述中,错误的是()。

A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体变量不能存储数据D. 结构体可以包含函数答案:C8. 在C语言中,用于实现文件操作的函数库是()。

A. stdio.hB. stdlib.hC. string.hD. fcntl.h答案:A9. 下列关于C语言中预处理指令的描述中,错误的是()。

A. #define可以定义宏B. #include用于包含头文件C. #if用于条件编译D. #else用于循环控制答案:D10. 在C语言中,用于实现动态内存分配的函数是()。

A. mallocB. freeC. callocD. realloc答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明通常包括变量的____和____。

答案:类型名称2. C语言中,用于输入的函数是____。

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

《高级语言程序设计(C)》期末考试试题一、选择题(本题共20道小题,共40分。

)1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是A)把x和y按从大到小排列 B)把x和y按从小到大排列C)无确定结果 D)交换x和y中的值2. 下面程序的输出是void prtv(int *x){ printf("%d\n", ++(*x));}main(){ int a=25;prtv(&a);}A) 23 B) 24C) 25 D) 263. int x=10, y=20, z=30;if(x>y) z=x; x=y; y=z;以上语句执行后x, y, z的值是A) x=10,y=20,z=30B) x=20,y=30,z=30C) x=20,y=30,z=10D) x=20,y=30,z=204. 设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1))后,z的值为A)出错 B)42 C)48 D)545. 逻辑运算符两侧运算对象的数据类型是()。

A) 只能是0或1B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据6. 当执行以下程序段时x=-1;do { x=x*x;}while(!x);A)循环体将执行一次 B)循环体将执行两次C)循环体将执行无限次 D)系统将提示有语法错误7. int x=3;do{ printf("%3d",x-=2);}while(!(--x));以上程序段的输出结果是A) 1 B) 3 0 C) 1-2 D) 死循环8. main(){int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); }以上程序段的输出结果是A)k=11,k=12,k=11 B)k=11,k=13,k=13C)k=11,k=013,k=0xb D)k=11,k=13,k=b9.以下程序的输出结果是()。

main(){ int num=0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1B) 1C) 1D) 12 2 23 3410. 表示关系x≤y≤z的c语言表达式为A) (X<=Y)&&(Y<=Z)B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z)D) (X<=Y)&(Y<=Z)11. 执行x=((5>1+2)&&2||((2*4<4)-!0))后,x的值为A) -1B) 0C) 1D) 512. 有以下程序main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));}输出结果是A)gm B)rg C)or D)ga13. 以下程序的输出结果是# include <stdio.h># include <string.h>main(){ char str[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}A) 6 B) 7 C) 11 D) 1214. 运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为main ( ){int m,n;printf("Enter m,n:");scanf("%d%d,&m,&n");while(m!=n){while(m>n) m-=n;while(n>m) n-=m;}printf("m=%d\n",m);}A)m=3 B)m=2 C)m=1 D)m=015. char ch=’A’;ch=(ch>=‘A’&&ch<=‘Z’)?(ch+’a’-‘A’):ch;表达式运算后,ch的值是A) a B) ‘a’C) A D) “a”16. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是A) k=*p1+*p2;B) p2=k;C) p1=p2; D) k=*p1*(*p2);17. 若有以下定义和语句:int u=010,v=0x10,w=10;printf(“%d,%d,%d\n”,u,v,w);则输出结果是A) 8,16,10B) 10,10,10C) 8,8,10D) 8,10,1018. 能正确表示a≥10或a≤0的关系表达式是A)a>=10 or a<=0 B)a>=10│a<=0C)a>=10││a<=0 D)a>=10 ││a<=019.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=1B) a=1,b=1C) a=1,b=0D) a=2,b=220. 以下说法中正确的是A) #define和printf都是C语句B) #define是C语句,而printf不是C) printf是C语句,但#define不是D) #define和printf都不是C语句二、填空题(每空1分,共10分。

)1. 为表示关系:x≤y≤z ,应使用的C语言表达式是_____________。

2. C语言本身没有输入输出语句。

其输入输出是由____________来完成。

3. 有函数调用fun1(x+y,(y,z),10,fun((x,y―1)));函数fun1有_______个参数。

4. C程序注释是由_________ 和________所界定的文字信息组成的。

5. 表达式x=x+1表示成增量表达式为___________。

6. while语句和do-while语句的区别是_______________________。

7. 结构化程序设计中的三种基本结构是_________、__________、___________。

三、判断题(本题共10道小题,共10分。

)1. 在不得已的情况下(例如提高程序运行效率),才使用goto语句()2. C程序的注释只能是一行()3. 在有参函数中,形参在整个程序一开始执行时便分配内存单元()4. C语言不允许混合类型数据间进行运算()5. 实参和与其对应的形参共占用一个存储单元()6. 在C程序中对用到的所有数据都必须指定其数据类型()7. 函数的定义和函数的调用均不可以嵌套()8. 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明()9. 在不同函数中可以使用相同名字的变量()10. if语句中的表达式不限于逻辑表达式,可以是任意的数值类型()四、程序分析题(用列表法列出关键变量在运行过程中的值)(本题3道小题,共20分)1. (8分)分析程序,给出select函数的功能,解释其形参的含义,并给出main函数的输出结果。

#define N 3#define M 3select(int a[N][M],int *n){int i,j,row=1,colum=1;for(i=0;i<N;i++) for(j=0;j<M;j++)if(a[i][j]>a[row][colum]){row=i;colum=j;} *n= row ;return ( a[row][colum]);}main(){ int a[N][M]={9,11,23,6,1,15,9,17,20},max,n; max=select(a,&n);printf("max=%d,line=%d\n",max,n);2. (6分)列表分析下面程序的运行步骤和中间结果,给出最后的输出结果 #include <stdio.h> main(){ int i =5;char c[6]="abcd"; do {c[i]=c[i―1]; } while (――i>0); puts (c ); main( ){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } }注:五、编程题(本题共2道小题,每题10,共20分。

) 编程题要求:(1)先给出伪代码,然后再写出源码,重要变量和语句要加注释;(2)若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。

1. 编写一程序,求100之内的素数。

2. 我们需要一个小程序,输入两个整数,输出这两个数的平方和与平方差,要求:(1)主函数负责接收这两个整数(2)将计算代码独立做成子函数math(3)在主函数中调用math函数并输出结果到屏幕上。

相关文档
最新文档