云南师范大学 C语言期末复习模拟题一

合集下载

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

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

c语言大期末考试题库及详解答案1. 选择题(1) 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A(2) 以下哪个选项是正确的C语言变量声明?A. int a = 10, b = 20;B. int a = 10; b = 20;C. int a = 10; int b = 20;D. int a = 10, b = 20;答案:A2. 填空题(1) 在C语言中,用于定义一个函数的关键字是____。

答案:void(2) 当使用指针变量时,用于获取指针所指向的值的运算符是____。

答案:*3. 简答题(1) 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以作为指向数组首元素的指针使用。

数组的每个元素可以通过指针偏移量来访问。

(2) 解释C语言中的预处理指令#include的作用。

答案: #include预处理指令用于在编译前将指定的文件包含到当前文件中,通常用于包含标准库或自定义的头文件。

4. 编程题(1) 编写一个C语言程序,计算并输出100以内所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```(2) 编写一个C语言函数,实现字符串的反转。

```cvoid reverseString(char* str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```5. 论述题(1) 论述C语言中指针的重要性及其应用场景。

c语言期末模拟考试题及答案

c语言期末模拟考试题及答案

C语言期末模拟考试题及答案29、若在程序中用到“strlenO”函数时,应在程序开头写上(D)0 (1分)A、#include<math. h> B、#include<stdio. h>C、#include<stdlib. h>D、#include<string. h>30、若有int f (int a, int b);,则说明函数(1 分)A、是一个内部函数B、是一个外部函数f( B )oC、只能在本文件中使用D、不能被同一源程序其他本文件中的函数调用31、声明一个函数为外部函数,应该在声明函数的函数类型的前面加(C)。

(1分)A、autoB、staticC、externD、register32、若有int a=3, *pa; float f=4. 5, *pf;,则下列表述中,错误的是(B )。

(1分) A、pa=&a B、pa=&f C、pf=&f D、*pf=a+f 33、设char s[10]; int i=5;,下列表达式中,正确的表达式是(B )。

(1分)A、 s[i+6] B、*(s+i)C、*(&s+i)D、*((s++)+i 34、若有int a[10], *p=a;,则(C)。

(1 分) A、p++可以使p指向下一个字节B、p+=2相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[l]的首地址D、p+=2可以使p 指向下一个元素,即a[l] 的首地址35设有语句:inta[10] = {0,1, 2, 3, 4, 5, 6, 7, 8, 9}, i, *p=a;,下列表达式中,对a数组元素引用错误的是(D )o (1分)A、p[i]B、aEp-a]C、*(&a[i])D、*(*a (a+i))36、在C语句中,&后跟指针变量名,表示该指针变量的((C)。

(1分)A、值B、别名C、地址D、类型37、若程序中包含有以下说明和定义:struct ex{ int x, y;}… struct ex, x, y; … ,则在计算机上调试时,(A )。

云南师范大学C语言期末试题1

云南师范大学C语言期末试题1

云南师范大学C语言期末试题1云南师范大学2009-2010学年下学期统一考试《计算机技术基础》(C语言)期末考试试卷考试方式(闭卷)考试时量:90分钟试卷编号(A卷)一、判断题:(每题1分,共10分)1. C语言中表达式3/2得到的结果是1.5。

bA.对B.错2.在C 程序中,APH 和aph 代表不同的变量。

aA.对B.错3. c程序总是从程序的第一条语句开始执行。

bA.对B.错4.选择结构(if语句)和循环结构都可以使用嵌套形式。

aA.对B.错5.构成数组的各个元素可以有不同的数据类型。

bA.对B.错6.对于用户自己定义的函数,在使用前必须加函数声明。

A.对B.错7.C语言中数据类型只有整型、实型和字符型。

A.对B.错8.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8)。

aA.对B.错9.typedef可以定义生成新的数据类型。

bA.对B.错10. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是3。

A.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共30分)1.C语言源程序文件经过C编译后生成的目标文件的后缀名为_____BA..cB..objC..exeD..cpp2.下列不合法的用户标识符是________。

AA.4d B.j2_KEYC.Double D._8_3.以下选项中正确的定义语句是____。

cA.double a; b; B.double a=b=7;C.double a=7, b=7; D.double, a, b;4.任何一个C语言的可执行程序都是从____开始执行的。

bA.程序中的第一个函数B.main( )函数的入口处C.程序中的第一条语句D.编译预处理语句5.若有定义语句: int x=10;,则表达式x-=x+x的值为 ____。

(完整版)大学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.-a1B.a[i]C.a2_iD.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.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

期末c语言考试题及答案

期末c语言考试题及答案

期末c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是()。

A. C语言是一种面向对象的编程语言B. C语言是一种面向过程的编程语言C. C语言是一种脚本语言D. C语言是一种汇编语言答案:B2. 在C语言中,用于定义常量的关键字是()。

A. varB. constC. staticD. final答案:B3. 下列哪个选项不是C语言中的基本数据类型()。

A. intB. floatC. charD. string答案:D4. 在C语言中,用于实现循环结构的关键字是()。

A. loopB. forC. whileD. repeat5. 下列关于数组的描述,错误的是()。

A. 数组可以存储一系列相同类型的数据B. 数组的索引从0开始C. 数组的大小在定义时可以改变D. 数组可以存储不同类型的数据答案:D6. 下列关于函数的描述,正确的是()。

A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 函数可以有多个返回值答案:C7. 在C语言中,用于定义指针的关键字是()。

A. refB. ptrC. *D. @答案:C8. 下列关于结构体的描述,正确的是()。

A. 结构体是一种用户自定义的数据类型B. 结构体不能包含其他结构体C. 结构体不能包含函数D. 结构体不能包含数组答案:A9. 在C语言中,用于定义枚举类型的关键字是()。

B. enumtypeC. enumstructD. enumlist答案:A10. 下列关于文件操作的描述,错误的是()。

A. 文件操作需要使用文件指针B. 文件操作前需要打开文件C. 文件操作后需要关闭文件D. 文件操作只能在程序内部进行答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________。

答案:int variable_name;2. 用于声明一个字符变量的关键字是:________。

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

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

main( )
语{

int sum,pad;
程 序
sum=pad=5;
设 计
pad=sum++;

pad++;
制 结
++pad;

printf("%d\n", pad);
}
A)7
B)6
C)5
D)4
第20页
返回目录
● 单项选择题
D 10)以下程序的运行结果为____.
#include <stdio.h>
低成绩,当输入负数时结束输入。
#include <stdio.h>
main ( )
{ float score, max, min;
printf ( "Please input one score:\n" );

scanf ("%d", &score);
言 程
max=min=score;
while ( s__c_o__r__e_>__=__0_ )
类 型
m1=m2=1;
与 运
printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));

}

返回目录
● 填空题
第15页
C

n=1
言 程
6.以下程序的执行结果是___________。

#include<stdio.h>
设 计
main()

{
本 数
float f=13.8;

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

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语言程序,实现对一个字符串进行反转。

2022年云南师范大学公共课《C语言》科目期末试卷A(有答案)

2022年云南师范大学公共课《C语言》科目期末试卷A(有答案)

2022年云南师范大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。

2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、结构化程序由________、________ 、________ 3种基本结构组成。

4、表达式pow(2.8,sqrt(double(x))值的数据类型为_______。

5、在C语言中,用“\”开头的字符序列称为转义字符。

转义字符“\n”的功能是_______;转义字符“\r”的功能是_______。

6、下面程序段的运行结果是_______。

char*p="PDP1-0";int i,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}7、函数swap(int x,inty)可完成对x和y值的交换。

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

a[o]=1;a[1]=2;swap(a[o],a[1]);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、执行以下程序时,若从第一列开始输入数据,为使变量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;}10、若有定义:doublex[3][5];,则x数组中行下标的下限为_______,列下标的上限为_______。

云南师范大学计算机技术基础C语言期末考试样卷及复习资料

云南师范大学计算机技术基础C语言期末考试样卷及复习资料

云南师范大学2011-2012学年下学期统一考试《计算机技术基础》(C语言)期末考试样卷考试方式(闭卷机考)考试时量:100分钟试卷编号(样卷)一、判断题:(每题1分,共15分)1. 在C程序中,注释内容在编译时被忽略,因此好的C程序不需要注释。

BA.对B.错2. #define是一种特殊的C语句,在行末没有分号。

BA.对B.错3. C语言中表达式3%2是合法的表达式。

AA.对B.错4.在C程序中,赋值语句x=123和x=0123后,变量x的值是不同的。

AA.对B.错5.2&&3的结果为1。

AA.对B.错6. C程序总是从程序的第一条语句开始顺序执行。

BA.对B.错7.C语言中,函数的定义可以嵌套。

BA.对B.错8.结构体中的成员变量可以有不同的数据类型。

AA.对B.错9.出现在主调函数之前的用户自定义函数,可以不必加函数声明。

AA.对B.错10.C语言中用for循环语句实现的功能,用while循环语句不一定能实现。

BA.对B.错11.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为5的表达式是 *(P+4)。

AA.对B.错12.字符串和字符数组都要求其最后一个字符为’\0’。

BA.对B.错13.合理使用共用体可以节省内存空间。

AA.对B.错14. 函数是C程序的基本单位。

AA.对B.错15. 全局变量在程序中的任何地方都有效。

BA.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共40分)1、下面叙述错误的是____。

DA. C程序中,各种括号应成对出现B. C程序中,赋值号的左边不可以是表达式C. C程序中,变量名的大小写是有区别的D. C程序中,若未给变量赋初值,则变量的初值自动为02.有宏定义:#define E 2.718则编译预处理时将E替换成一个____。

DA.单精度常量B.单精度变量C.双精度变量D.字符串3、C程序中,合法的关键字是____。

C语言期末考试模拟习题一(含答案)

C语言期末考试模拟习题一(含答案)

《C语言》期末考试模拟复习题一一、单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把正确选项的序号,填入题中的括号内。

多选不给分。

每题1分,共20分)1.以下不是c语言规定保留字的是(B )。

(A)float (B)integer (C)signed (D) unsigned2.设int型变量x有初始值3,则表达式x++*5/10的值是( B )(A)0 (B)1 (C)2 (D)33.下述程序执行后的输出结果是(A )#include <stdio.h>main(){int x='f';printf("%c\n",'a'+(x-'a'+1));}(A)G (B)H (C)I (D)J4.设有程序#include <stdio.h>main(){int i,j;for (i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);}在运行上述程序时,for语句中循环体的执行次数是( C )(A)3 (B)2 (3)1 (D)05.在下述选项时,没有构成死循环的程序是( C )(A)int i=100while (1){i=i%100+1;if (i>100)break;}(B)for (;;);(C)int k=1000;do{++k;}while (k>=10000);(D) int s=36;while (s);--s;6.假定a和b为int型变量,则执行下述语句组后,b的值为( D )。

a=1;b=10;do{b-=a;a++;} while (b--<0);(A)9 (B)-2 (C)-1 (D)87.设有变量说明语句int a=1,b=0;则执行以下程序段的输出结果为( B )。

switch (a){case 1:switch (b){case 0:printf("**0**");break;case 1:printf("**1**");break;}case 2:printf("**2**");break;}printf("\n");(A)**0** (B)**0****2** (C)**0****1****2** (D)有语法错误8.以下合法的数组说明是( D )。

C语言期末考试复习题及答案完整可编辑版

C语言期末考试复习题及答案完整可编辑版

C语言期末考试复习题及答案一、选择题:以下各题A〕、B〕、C〕、D〕四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上。

答在试卷上不得分。

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

A〕必须在最后B〕必须在系统调用的库函数的后面。

C〕必须在最开场。

D〕可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。

A〕必须为字母或下划线。

B〕必须为下划线。

C〕必须为字母D〕可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是B 。

A〕-10 0x8f -011 B) 010 -0x11 0xf1C) 0abc -017 0xc D) 0a12 -0x123 -0xa(4) C语言中int型数据在内存中占两个字节,那么unsegned int取值范围是 A 。

A〕0 ~ 65535 B〕0 ~ 32767C〕-32767 ~ 32768 D〕-32768 ~ 327687(5) 假设有定义:int a = 7; floa x = 2.5 , y = 4.7 ;那么表达式 x + a % 3 * (int) (x + y) % 2/4 的值是D 。

A) 2.750000 B) 0.00000 C) 3.500000 D) 2.500000(6)ch是字符型变量,下面不正确的赋值语句是 B 。

A〕ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ;(7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 那么下面表达式中值为0的是 A 。

A〕!((x < y )&&!z || 1) B) ' x ' && ' y ' C) x || y+z && y - z D)x <= y(8〕设有程序段int k = 10 ;while ( k = 0 ) k = k - 1 ;以下描述正确的选项是 A 。

C语言程序设计期末测试题及答案(5套)

C语言程序设计期末测试题及答案(5套)

大学题库C语言程序设计期末模拟测试题及答案 2010年11月目 录期末模拟考试题(一) (3)期末模拟测试题(一)参考答案 (10)期末模拟考试题(二) (11)期末模拟测试题(二)参考答案 (18)期末模拟考试题(三) (19)期末模拟测试题(三)参考答案 (26)期末模拟考试题(四) (27)期末模拟测试题(四)参考答案 (34)期末模拟考试题(五) (35)期末模拟测试题(五)参考答案 (49)期末模拟考试题(一)一.选择题:2’*25=50’1.十进制数269转换成十六进制数是A)10E B)10D C)10C D)10B2. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)25 C)24 D)303. 若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A) 4 B)5 C)9 D)104. 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A) *p B) a[10] C) *a D) a[p-a]5.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A)1 B)0 C)-1 D)26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a; B)(a=c)‖(b=c);C)(a=c)&&(b=c); d)a=c=b;7.以下程序的输出结果是A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1main( ){ int x=10,y=10,I;for(i=0;x8;y=++i)printf("%d,%d ",x--,y);}8. 下面程序的输出是main(){ char *s="121";int k=0, a=0, b=0;do { k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);}A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=39.下面程序的输出是main(){ unsigned a=32768;printf("a=%d\n",a);}A)a=32768 B)a=32767 C)a=-32767 D)a=-110. 若有以下定义:float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x){ case1.0:printf("*\n"); { case1,2:printf("*\n");case2.0:printf("**\n"); case3:printf("**\n");} }C)switch (a+b) D)switch (a+b);{ case 1:printf("\n"); { case 1:printf(."*\n");case 1+2:printf("**\n"); case 2:printf("**\n");} } 11.以下程序运行后,如果从键盘上输入ABCDE,则输出结果为A) 8 B)7 C)6 D)5# include# includefuch (char str [ ] ){ int num =0;while (*(str +num )!='\0') num ++;return(num );}main(){ char str [10],*p=str ;gets(p);printf("%d\n",func(p));}12.运行以下程序后,如果从键盘上输入china#,则输出结果为A) 2,0 B)5,0 C) 5,5 D)2,5# includemain( ){ int v1=0,v2=0;char ch ;while ((ch=getchar())!='#')switch (ch ){ case 'a':case 'h':default: v1++;case '0':v2++;}printf("%d,%d\n",v1,v2);13.以下程序运行后,输出结果是A) 49.5 B) 9.5 C)22.0 D)45.0# include# define PT 5.5# difine s(x) pt*x*xmain(){ int a=1,b=2;printf ("%4.lf/n",S(a+b));} 14.以下程序执行后a的值是A)4 B)1 C)0 D)运行时出错,a无定值main(){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);} 15.以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1l ;fun (int p){ int d=5;d+=p++;printf("%d",d);}main(){ itn a=3;fun(a);d+=a++;printf("%d\n",d);} 16.下面程序的运行结果是:# include <stdio.h>main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf(“x=%d\n”,x);}A) x=4 B)x=8 C)x=6 D)x=1217.以下程序运行后,输出结果是A) 1 B) 7 C)9 D)11fut (int **s,int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11},*p;p=(int *)malloc(sizeof(int))lfut (&p,a);printf("%d\n",*p);}18.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B)2 C)3 D)019.请读程序:# define LETTER 0main(){ char str[20]=”C Language”,c;int i;i=0;While((c=str[i])!=’\0’{ i++;# if LETTERif(c>=’a’&&c<=’z’)c=c-32;# elseif(c>=’A’&&c<=’Z’)c=c+32;# endifprintf(“%c”,c);}上面程序的运行结果是:A) C Language B) c languageC) C LANGUAGE D) c lANGUAGE20. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}21. 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }22. 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}23.若有以下说明和语句:struct student{ int age;int num;} std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是:A) std.age B) p->age C) (*p).age D) *p.age24.以下程序的输出结果是:struct stu{ int x;int *y;} *p;int dt[4]={ 10,20,30,40};struct stu a[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main(){ p=a;printf(“%d,”,++p->x);printf(“%d,”,(++p)->x);printf(“%d\n”,++(*p->y));}A) 10,20,20 B) 50,60,21 C)51,60,21 D) 60,70,31 25.设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是:A)00010100 B)00011011 C)00011100 D)00011000二.判断题:1’*10=10’1.C语言规定在一个源程序中,main函数的位置必须在系统调用的库函数的后面。

c语言期末考试考试题及答案

c语言期末考试考试题及答案

c语言期末考试考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,不正确的是()。

A. C语言是一种高级编程语言B. C语言具有结构化的特点C. C语言可以直接在操作系统上运行D. C语言具有跨平台的特性答案:C2. 在C语言中,用于定义整型变量的关键字是()。

A. intB. floatC. charD. double答案:A3. 下列选项中,不是C语言中的运算符的是()。

A. %B. &&C. /D. #答案:D4. C语言中,用于定义一个函数的关键字是()。

A. functionB. defC. voidD. int答案:C5. 在C语言中,以下哪个选项是正确的字符串定义方式?()A. char str[10] = "Hello";B. char str[] = "Hello";C. char str[10] = 'Hello';D. char str = "Hello";答案:B6. 下列关于C语言数组的描述中,正确的是()。

A. 数组可以存储不同类型的数据B. 数组的索引从0开始C. 数组的大小在定义后可以改变D. 数组可以存储字符串答案:B7. 在C语言中,用于输入输出的库函数是()。

A. math.hB. stdio.hC. string.hD. time.h答案:B8. 下列关于C语言指针的描述中,不正确的是()。

A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以存储字符串D. 指针不能直接存储字符串答案:D9. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A10. 下列关于C语言文件操作的描述中,不正确的是()。

A. 文件操作需要包含stdio.h头文件B. 文件指针用于指向文件的当前位置C. 文件操作使用fopen函数打开文件D. 文件操作使用fclose函数关闭文件答案:A二、填空题(每题3分,共30分)1. C语言中,用于定义一个常量的关键字是____。

大学c语言的期末试题及答案

大学c语言的期末试题及答案

大学c语言的期末试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。

A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的数据类型答案:B2. 在C语言中,用于定义一个整型变量的关键字是()。

A. intB. floatC. charD. double答案:A3. C语言中,用于输入输出的库函数是()。

A. <stdio.h>B. <math.h>C. <stdlib.h>D. <string.h>答案:A4. 下列选项中,不属于C语言运算符的是()。

A. %C. :D. <答案:C5. 在C语言中,用于定义一个字符数组的关键字是()。

A. intB. floatC. charD. double答案:C6. 下列关于C语言函数的描述中,正确的是()。

A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是数组D. 函数的返回值类型必须是int答案:B7. 在C语言中,用于定义一个浮点型变量的关键字是()。

A. intB. floatC. charD. double答案:B8. C语言中,用于定义一个字符串常量的关键字是()。

B. stringC. strD. text答案:A9. 下列关于C语言指针的描述中,错误的是()。

A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B10. 在C语言中,用于定义一个布尔型变量的关键字是()。

A. boolB. intC. charD. float答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字来定义一个静态变量。

答案:static2. C语言中,使用____关键字来定义一个全局变量。

答案:extern3. 在C语言中,____运算符用于取地址。

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

只有一个答案是正确的。

请把你认为正确的答案对应的标号A、B、C、D,填入括号内。

每小题2分,共计30分)1. 以下叙述中不正确的是()。

A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面2. 在C语言中,要求运算数必须是整型的运算符是()。

A) / B) ++ C) != D) %3. 在执行以下程序时,为了使输出结果为t=4,则给a和b输入的值应满足的条件是()。

main(){int s, t, a, b;scanf("%d, %d", &a, &b);s=1; t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a= =b) t=5;else t=2*s;printf("t=%d\n", t);}A) a>b B) a<b<0 C) 0<a<b D) 0>a>b4. 设int x=1, y=1;表达式(!x||y--)的值是()。

A) 0 B) 1 C) 2 D) -15. 下面不正确的字符串常量是()A) 'abc' B) "1212" C) "0" D) " "6. 设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为()。

A) float B) char C) int D) double7. 以下所列的各函数首部中,正确的是()。

A) void play(var a:Integer, var b:Integer)B) void play(int a, b)C) void play(int a, int b)D) Sub play(a as integer, b as integer)8. 设有数组定义: char array[ ]="China"; 则数组array所占的空间为()。

A) 4个字节B) 5个字节C) 6个字节D) 7个字节9.有如下程序:int func(int a,int b){return(a+b);}main( ){int x=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}该程序的输出的结果是()。

A) 12 B) 13 C) 14 D) 1510. 以下程序段的执行结果是()。

int a, y;a=10; y=0;do{ a+=2; y+=a;printf("a=%d y=%d\n", a, y);if(y>20) break;} while(a=14);A) a=12 y=12 B) a=12 y=12a=14 y=16 a=16 y=28a=16 y=20a=18 y=24C) a=12 y=12 D) a=12 y=12a=14 y=26a=14 y=4411. 程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是()。

A)while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次12.以下程序的输出结果是()。

main(){int a[3][3]={{1,2},{3,4},{5,6}}, i, j, s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++) s+=a[i][j];printf("%d\n", s);}A) 18 B) 19 C) 20 D) 2113. 假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序运行后,m的值是()。

A) 4 B) 3 C) 2 D) 114. 下列四个选项中,均是C语言关键字的选项是()。

A) add char include B) switch while continueC) break long scanf D) if default type15. 在下列叙述中,错误的说法是()。

A) printf函数可以向终端输出若干个任意类型的数据B) putchar函数只能向终端输出字符,而且只能是一个字符C) getchar函数只能用来输入字符,但字符的个数不限D) scanf函数可以用来输入任何类型的多个数据2分,共计20分)1. 一个C源程序的上机运行步骤为:编辑、_____________ 、连接、执行。

2. 设int a=1, b=2, c=3, d; 执行d=!(a+b+c); 后,d的结果是_____________。

3. 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为___________。

4. 已有定义int a; float b,x; char c1,c2; 为使a=3, b=6.5, x=12.6, c1='a', c2='A', 正确的scanf函数调用语句是①,输入数据的方式为②。

5. 若有语句 printf("%2.2f,%5.2,%-5.2\n",3.14,3.14,3.14); 则输出结果是_____________。

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

7. 若有定义:char c='\010' ; 则变量c中包含的字符个数为_____________。

8. 若有定义:double x[3][5]; 则数组x中行下标的下限为①,列下标的上限②。

5分,共计20分)1. 请写出程序的运行结果:#include <stdio.h>main( ){int a= -1, b=4, k;k=(++a<0)&&!(b<=0);printf("%d,%d,%d\n", k, a, b);}2. 当运行以下程序时,从键盘输入:Ah2MA A3ha,请写出输出结果。

#include <stdio.h>main(){ char s[80], c='a';int i=0;scanf("%s",s);while(s[i++]!='\0')if(s[i] = = c) s[i]=s[i]-32;else if(s[i]= =c-32) s[i]=s[i]+32;puts(s);}3. 请写出运行结果:#include <stdio.h>main(){int i,j=2;for(i=j;i<=2*j;i++)switch(i/j){ case 0: printf(“&”); break;case 1: printf(“@”); break;case 2: printf(“#”);}}4. 请写出运行结果:#include <stdio.h>int x1=30,x2=40;main( ){int x3=10,x4=20;f(x3,x4);f(x2,x1);printf("%d,%d,%d,%d\n",x3,x4,x1,x2);}f(int x, int y){ int t;t=x;x=y;y=t;}2分,共计10分)1.下面程序功能是,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩、每门课程的平均成绩。

#include <stdio.h>main(){float score[6][5], aver1[6], aver2[5], sum1[6]={0},sum2[5]={0};int i,j;for (i=0; i<6; i++)for (j=0; j<5; j++){ scanf("%f", ① );sum1[i]= ② ;sum2[j]= ③ ;}printf("average score of students: ");for (i=0; i<6; i++){aver1[i]= ④ ;printf("%5.1f",aver1[i]);}printf("\naverage score of courses: ");for (i=0; i<5; i++){aver2[i]= ⑤ ;printf("%5.1f", aver2[i]);}printf("\n");}10分,共计20分)1. 有一个4×5的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号。

2. 编写一个函数sum,给定任意正整数a,求1+2+…+a的结果,和数作为函数值返回。

若a的值为10,经函数sum的计算后,得到的结果值是55。

请编写程序。

其中,main函数完成:输入一个任意正整数,调用函数sum求和,输出结果。

相关文档
最新文档