c语言期末试卷
C 函数形参的作用范围只是局限于所定义的函数内。 D 子函数必须位于主函数之前。 8、如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是0 A 该变量只在该复合语句中有效 B 该变量在该函数中有效 0该变量在本程序范围内均有效 D该变量为非法变量 9、若x4,则x*x2的值为。 C 18D 20 A 36 B 24 C abcl; D int al, bl, cl o B 宏名无类型 D 宏替换不占用编译时间 10、下列能正确定义整型变量a、b和c并为其赋的值1的语句是。 A intabcl; B int a, b, cl 11、以下关于宏替换的叙述不正确的是 A 宏替换只是字符替换 C 宏替换不占用运行时间 12、有以下程序段 int a[10] {l, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *pa[3], b; bp[5j ; b中的值是。 A 5B 6C 8D 9 13、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是。 main int *p, *q, a, b; pa; printf ,z a〃; scanf*p; } A *p表示的是指针变量p的地址 B *p表示的是变量a的值,而不是变量a的地址 o *p表示的是指针变量p的值 D *p只能用来说明p是一个指针变量 C语言程序设计A试卷B卷 班级 学号 姓名 一、选择题每题1分,共计20分 1、C语言规定在一个源程序中,main函数的位置C 。 A 必须在最开始 B 必须在系统调用的库函数的后面 C 可以任意 D 必须在最后 2、设a为5,执行下列语句后,b的值不为2的是C 。 A ba/2B b6-a C ba2D ba32l 3、若aT4, b3,则条件表达式ab abl的值为。 A -14 B -13 C 3 D 4 4、已知int n, il,j2;执行语句 ni〈ji j;则 i 和 j 的值是。 A 1,2 B 1,3 C 2, 2 D 2,3 5、函数调用语句 funcexpl, exp2, exp3, exp4, exp5;中,实参的个数 o A 1B 2C 4D 5 6、以下正确的描述是o A 函数的定义可以嵌套,但函数的调用不可以嵌套。 B 函数的定义不可以嵌套,但函数的调用可以嵌套。 O函数的定义和函数的调用均不可以嵌套。 D函数的定义和函数的调用均可以嵌套。 7、在C语言中,下面对函数不正确的描述是o A 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。 B 允许函数递归调用。 5、形参为指针变量时,实参必须是数组名。() 6、用数组名作函数参数时传递的是数组的值。() 7、全局变量可以被任何一个函数中的任何一个表达式使用。() 8、一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。() 9、表达式i与i在任何场合功能完全相同。() 10、赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。() 三、填空题(每空2分,共40分) 1、在C语言中,一个float型数据在内存中所占的字节数为_个字节,C源程序的基本 单位是 函数. 2、算法表示的时候使用的三种基本结构是顺序,选择,循环 (3)o 3、以下程序运行后的输出结果是25 21 37 - main int a, b, c; a25; b025; c0 x25; printf ,,d d d\n〃,a, b, c; } 4、以下程序运行后的输出结果是 gae 。 main { char a[ ]Language”, b[]〃Programe〃 ; char *pl,*p2; int k; pla; p2b; for k0;k7;k if * plk * p2k printf c”, * plk; } 5、己有定义 int m; float n, k; char chi, ch2; 为使 m3, n6. 5, k12. 6, chi- a , ch2A,输入数据的格式为 36.5 12.6aA 则 对 应 的scanf语 句 是 14、若num、a、b和c都是int型变量,则执行表达式num a4, b16, c32;后num的值为 o A 4B 16C 32D 52 15、假设指针p己经指向某个整型变量x,则*相当于0 A xB pC XD *x 16、若有说明int a[10];则对a数组元素的正确引用是。 A a[10] B a[3.5] C a[5-3] D a[-l] 17、在C语言中,一维数组的定义方式为 类型说明符数组名; A [整型常量表达式] B[表达式] C [整型常量]D[整型表达式] 18、以下能对一维数组a进行正确初始化的语句是o A in a[10] 0, 0. 0, 0, 0 ;B int a[10] {}; C int a[] {0};D int a[10]{10*l}; 19、假设指针pl己经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中 正确的是。 A p2**plB p2*pl C p2*plD p2*pl 20、以下关于do-while循环的不正确描述是o A do-while的循环体至少执行一次 B do-while循环由do开始,用while结束,在while表 达式后面不能写分号 C 在do-while循环体中,一定要有能使while后面表达式的值变为零〃假〃的操作。 D do-while的循环体可以是复合语句。 二、判断题每题1分,共计10分 1、在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。 2、字符串作为一维数组存放在内存中。 3、字符数组中的一个元素存放一个字符。 4、字符数组中的最后一个字符必须是\0。 int x,s0; forxO;x〈n;x sF X; return s; F int x { return x*xl ;} 9、以下程序运行后的输出结果是