C语言期末试卷6
清华大学“C语言程序设计”期末试卷

样例: 输入 1 2 -4 0 32 1 -2 2 输出 3 -4+x^2
第三部分
综合问题 (任选一题完成,共 10 分)
3-A. 代数式处理 ( 3-A.cpp ) 读入一个仅含变量 x 的代数式和 x 的值, 输出该式在 x=x0 处的函数值和导函数的值。 表达式中除了字母 x 和+, -, *, /, (, )外没有其他字符
试卷说明: 考试形式为上机考试,考试时间总计 3 小时 请在 C 盘根目录下建立一个子目录,以自己的学号命名,并将所有的程序存入 此目录。如,学号为 010000 的同学,需要建立目录 C:\010000,并将程序存入 此目录。按照题目名称中指定文件名保存你的程序,并保存一个备份,以免程 序被意外破坏。例如,第一题应当保存一个叫做 1-1bak.cpp 的文件。 3-A 和 3-B 最多只能选择一道题目。如果同时存在 3-A.cpp 和 3-B.cpp,我们将 随机选择一道题目进行评分。 所有题目采用键盘输入和屏幕输出,你的程序不得访问任何文件。 评分时将查看源程序,请严格遵守题目中给出的限制。
输入: 先读入一个字符串,字符总数不超过 100 并且不会有格式错误的代数式。 然后读入一实数作为 x0 的值。
输出:
7
包含两个实数,分别是函数值和导函数值。把所得结果保留 2 位小数输出。如果出 现分母为 0 的情况则只输出一个字符串"error"。
样例: 输入 x*(x+x/x) 100 输出 10100.00 201.00
输入: 第 1 行为一个整数 t,表示任务的类型,t=1 表示做加法,t=2 表示做减法。 第 2 行为 1 个整数 n,表示需要计算的数的位数。 以后 n 行,每行为 2 个数字,分别是同一位上的被加数和加数(当 t=1 时);或被 减数和减数(当 t=2 时)。从第 3 行起,位数依次由高到低,第 3 行为最高位,第 n+2 行为最低位。
C语言期末考试题

C语言期末考试题1.tatictruct{inta1;floata2;chara3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。
A、a[10]B、a[0]C、a[1]D、a[-1]B2.对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。
A、将5个初值依次赋给a[1]至a[5]B、将5个初值依次赋给a[6]至a[10]C、因为数组长度与初值的个数不相同,所以此语句不正确D、将5个初值依次赋给a[0]至a[4]D3.在C语言中,能代表逻辑值“真”的是()。
A、大于0的数B、TrueC、非0的数D、非0整数C4.以下read函数的调用形式中,参数类型正确的是()。
A、read(intfd,intcount,char某buf)B、read(intcount,char某buf,intfd)C、read(int某buf,intfd,intcount)D、read(intfd,char某buf,intcount)D6.以下不符合C语言语法的赋值语句是()。
A、a=b=5;B、a=1,b=2C、++j;D、y=(a=3,6某5);B7.C语言程序的三种基本结构是顺序结构、选择结构和______结构.A、递归B、转移C、嵌套D、循环D8.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值()。
A、-1B、非零的数C、1D、0D9.以下叙述中不正确的是()。
A、在C程序中,赋值运算符的优先级最低B、在C程序中,j++;是一条赋值语句C、C程序中的#include和#define均不是C语句D、一个好的程序应该有详尽的注释A10.若有下列定义,则对a数组元素地址的正确引用是()。
inta[5],某p=a;A、&aB、p+2C、a++D、&a[5]B11.taticchartr[10]=\数组元素个数为()。
(1253)国开大学2020年秋季 C语言 期末试题

试卷代号:1253国家开放大学2020年秋季学期期末统一考试C语言程序设计试题2021年1月一、单项选择题(把合适的选项编号填写在括号内。
每小题3分,共42分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A.mainB.MAIND.function2.用于输出表达式值的标准输出函数是( C )。
A.scanf()B.print()C.printf()D.output()3.由C语言源程序文件编译而成的目标文件的扩展名为( C )。
A.cppB.exeC.objD.C4.运算符优先级最高的是( A )。
A.()B.一C.+D.<5.已知x的初值为15,则下列各表达式中的最大值为( B )。
A.x++B.++xC.x-D.-x6.for循环语句能够被改写为( D )。
A.复合语句B.if语句C.switch语句D.while语句7.在一个数组中,数组元素a[i]前面的元素个数为( A )。
A.iB.i+lC.i-lD.2xi8.假定二维数组的定义语句为“int*a[3][5];”,则该数组所占用的存储空间的字节数为( D )。
A.120B.15C.30n609.对于一个二维字符数组a[M][N],存储每个字符串的长度至多为( D )。
A.MB.NC.M-1D.N-I10.假定a为-Ai数组名,则下面表达式中错误的是( B )。
A.a[i]B.*a++c*a D.*(a+1)11.假定一个函数的原型语句为“int ff(intx);”,一个整型变量为a,则下面函数调用表达式不正确的是( A )。
A.ff(*a)B.ff(a)C.ff(a+10)D.ff(3)12.假定要访问一个结构指针变量x所指对象中的数据成员a,则表示方法为( B )。
A.x.aB.x一>aC.x(a)D.x{a}13.标准输入设备键盘的文件流标识符是( A )。
A.stdinB.stdoutC.stderrD.stdio14.从一个文本文件中读取一个字符的系统函数为( D )。
大学C语言期末考试试题及答案

大学C语言期末考试试题一选择题(7分,每小题0.5分)1。
C语言源程序的基本单位是()。
A 过程B函数C子程序D标识符2.下列程序的输出结果是()。
main( ){ inta=7,b=5;printf("%d\n",b=b/a);}A 5B 1 C0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A7 B8 C9 D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=(int)125.521%4;a=5<<2;A125,31,1 B125,1,20 C 125,31,20D125.534,2,205。
设有如下程序段,下面描述中正确的是( )。
int k=10;while(k=0)k=k—1;A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6。
以下程序的输出结果为( ).int i;void prt(){ for(i=5;i<8;i++) printf(”%c”,'*’);printf("\t");}main( ){ for(i=5;i<=8;i++)prt( );}A ***B ************C *** ***D * **7。
在C语言程序中,以下说法正确的是()。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8。
以下函数调用语句中含有( )个实参.func((e1,e2),(e3,e4,e5));A 2 B3 C5 D语法错误9.以下程序的输出结果为().#defineADD(x)x*xmain( ){int a=4,b=6,c=7,d=ADD(a+b)*c;printf(”d=%d",d);}A d=70B d=80C d=140 Dd=70010。
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语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1.以下叙述中正确的是()。
A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点2.以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3.以下叙述中正确的是()。
A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分4.以下有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行一次C.循环执行两次D.有语法错误6.以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。
A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。
C语言程序设计期末考试试题及答案
C语言程序设计期末考试试题及答案装 C. C++; D.a+b+c|2.已知int j , i=1 ;执行语句“ j=i++ ; ”后,变量i 的值是B 。
A. 1B. 2C. - 1D. -2 3. 执行下面程序:#i nclude "stdio.h" void mai n()订 {int a=1,b=2,c=3 ;c=(a+=a+2),(a=b,b+3); printf(“ %d,%d,%d ,a,b,c);丨}线则输出结果是:_A _______ 。
A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5[4.若要求在if 后一对圆括号中表示 a 不等于0的关系,则能正确表示这一关系的表达式为D 。
—A. a< >0B. !aC. a=0D. a:5. for (j=0;j<11;j++);循环结束后,j 的值是 B _________ 。
A. 12B. 11C. 10D. 96. C 语言中函数返回值的类型由 _D ___ 决定的。
[ A. return语句中的表达式类型B.调用该函数的主调函数的类型 :C.调用函数时临时决定D.定义函数时所指定的函数类型7. 下列说法中正确的是 B 。
- A 在调用用户自定义函数时,必须对其进行声明。
1B 函数可以返回一个值,也可以什么值也不返回。
:C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
C 语言程序设计试题','g','s','\0'};8. 若int i=10 ;执行下列程序后,变量 i 的正确结果是_D_switch ( i ) {case 0: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default: i+=1 ;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。
C语言期末考试真题
第三套一.判断题1.(F)1.在C程序中,每行中只能写一条语句。
2.(T)在C程序中,语句之间必须要用分好”;”分割。
3.(F)C语言规定,在一个源程序中,main函数的必须是最开始。
4.(F)一个变量可以同时被定义为多种类型。
5.(F)若X为float型变量,则以下语句x=213.82631;printf(“%-432f\n”,x);的输出为213.82.6.(F)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。
7.(T)在C程序汇总,%是只能用于整数运算的运算符。
8.(F)关系运算符<=与==的优先级相同。
9.(T)在C程序中,逗号运算符的优先级最低。
10.(T)在C程序中,j++;是一条赋值语句。
11.(F)若a和b的类型相同,在执行了a=b;后,b中的值将丢失。
12.(T)a=(b=4)+(c=6)是一个合法的赋值表达式。
13.(F)if语句后面的控制表达式只能使用关系表达式或逻辑表达式。
14.(F)If后面的控制表达式可以不用括号括起来。
15.(F)Int a=1.b=2,c=3;if(a>b);if(a>c)a=c;则a的值为3。
16.(F)Int i=20;switch(i/10{case 2:printf(“A”);case 1:printf(“B”);)的输出结果为A。
17.(F)与if(E)语句中的(E)等价的表达式是(E==0)。
18.(F)For(m=22;m<1000;m++)if(m%3==0&&m%7!=0)break;是对m能被3整除或m不能被7整除时,结束本次循环进入下次循环。
19.(T)do-while循环是先执行循环体语句,后判断表达式的值。
20.(T)数组名是一个不可变的地址常量,不能对它进行赋值运算。
21.(T)同一数组的元素在内存中存储是连续存放的,占有连续的存储单元。
22.(T)return语句,可以在同一函数中出现多次。
大学生课程C语言期末客观题——期末客观题练习题6
A.4,3,7 B.3,4,7 .标准答案:A
C.5,2,7
D.2,5,7
12. 执行下述程序的运行结果是()
#include “stdio.h”
4
long fib(int n)
{
long res;
switch (n){
case 0:res=0;break;
case 1:res=1;break;
default:res=fib(n-1)+fib(n-2);
int i,s;
s=0;
3
for(i=1;i<101;i++)
{
s+=i;
if(s>5) break;
}
printf("s=%d\n",s); (2 分)
A.5050 B.6
C.5
D.0
.标准答案:B
11. 有以下程序
int f1(int x,int y)
{
return x>y?x:y;
}
int f2(int x,int y)
D.14
9. 以下程序段的输出是()
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%10)==0) break;
else i--;
}
i+=11;a+=i;
}
printf("%d\n",a); (2 分)
A.21
B.32
C.33
D.11
.标准答案:B
10. 下面程序段的输出结果为()
.标准答案:错误
4. 判断两个 float 类型变量 a 和 b 是否相等的表达式为 a==b (1 分) ( )
C语言期末考试测试试卷(较难)
一、选择题(每题2分,共20分)1. 以下关于指针的说法中,错误的是()A. 指针是一个变量,其值为另一个变量的地址B. 指针变量的值可以改变,但其指向的内存地址不能改变C. 指针变量的类型决定了其所指向的数据类型D. 指针变量可以进行算术运算2. 以下关于结构体的说法中,正确的是()A. 结构体变量的成员可以是另一个结构体类型B. 结构体变量的大小等于其所有成员大小之和C. 结构体变量可以直接赋值给另一个结构体变量D. 结构体变量不能作为函数的参数传递3. 以下关于文件操作的说法中,错误的是()A. fopen()函数用于打开文件B. fclose()函数用于关闭文件C. fprintf()函数用于向文件写入格式化数据D. fscanf()函数用于从文件读取格式化数据4. 以下关于动态内存分配的说法中,正确的是()A. malloc()函数用于分配内存,但不需要释放B. calloc()函数用于分配内存,并将内存初始化为0C. realloc()函数用于重新分配内存,但不能改变原有内存的大小D. free()函数用于释放内存,但不能释放由malloc()函数分配的内存5. 以下关于链表的说法中,错误的是()A. 链表是一种动态数据结构,可以动态地插入和删除元素B. 链表中的每个节点都包含数据域和指针域C. 链表的最后一个节点的指针域为NULLD. 链表的插入和删除操作的时间复杂度为O(n)6. 以下关于递归函数的说法中,正确的是()A. 递归函数必须有递归出口,否则会导致无限递归B. 递归函数的时间复杂度一定高于非递归函数C. 递归函数的空间复杂度一定低于非递归函数D. 递归函数的参数必须是指针类型7. 以下关于二维数组的说法中,错误的是()A. 二维数组的每个元素都是一维数组B. 二维数组的行数和列数必须在定义时指定C. 二维数组的元素在内存中是连续存储的D. 二维数组的元素可以通过下标访问8. 以下关于函数指针的说法中,正确的是()A. 函数指针可以指向任意类型的函数B. 函数指针可以作为函数的参数传递C. 函数指针可以直接调用函数D. 函数指针不能进行赋值操作9. 以下关于位运算的说法中,错误的是()A. 位运算的操作数必须是整数类型B. 位运算的优先级高于算术运算C. 位运算的结果是一个整数D. 位运算可以用于实现快速的乘除运算10. 以下关于预处理器的说法中,正确的是()A. 预处理器是在编译阶段之前执行的B. 预处理器可以用于定义宏和条件编译C. 预处理器可以用于包含头文件D. 以上都对二、填空题(每空1分,共10分)1. 在C语言中,字符串是以_____结尾的字符数组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计期末考试试卷F-A(本试卷共9 页,命题日期:200 年月日)一、选择填空(每空2分)1.设int a,b;则表达式a=2,b=++a*2的值为【1】。
A)6 B) 4 C) 8 D) 22.下面程序的运行结果是【2】main(){int a=-10,b=-3;printf(“%d\n”,(a=a-b,a+b));}A)-10 B) –4 C) -7 D) -133.以下能正确定义变量a, b和c并为它们赋值的语句是【3】A) int a=5; b=5; c=5; B) int a,b,c=5;C) a=5,b=5,c=5; D) int a=5, b=5, c=5;4.设a为整型变量,不能正确表达数学关系 10<a<15 的C语言表达式是【4】。
A) 10<a<15 B)a==11||a==12||a==13||a==14 C) a>10 && a<15 D)!(a<=10) && !(a>=15)5.若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【5】。
A) 5.5 B) 5 C) 4 D) 4.06.定义int a;后,语句printf("%d\n",(a=3*5,a*4,a+5));的输出是【6】。
A) 65 B) 20 C) 15 D) 107.若给定条件表达式(S)? (a++) : (a--),则与表达式S等价的是【7】。
A) 和(S==0)等价 B) 和(S==1)等价C) 和(S!=0)等价 D) 和(S!=1)等价8.若定义int d, c=6;则执行下面的语句后,d的值为【8】。
switch(c){ case 0:d=0;break;case 1:case 2:d=1;break;case 3:case 4:d=2;break;default:d=3; }A) 0 B) 1 C) 2 D) 39.若执行下面程序时,从键盘输入"3,4",则输出是【9】。
main(){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (a<b) s=b;s=s*s;printf("%d\n",s);}A) 4 B) 16 C) 18 D) 2010.下列程序段执行后,s的值为【10】。
int k,s=0;for(k=1;k<=10;++k); s=s+k;A) 1+2+3+...+10 B) 0 C) 11 D) 1011.若i,j已定义为int 类型,则以下程序段中内循环体的总的执行次数是【11】。
for(i=5;i;i--)for(j=0;j<4;j++){ ...... }A) 20 B) 24 C) 25 D) 3012.设 int a=1,b=2,c=3,d=4;则表达式(a!=b)?(--c):d++的值为【12】。
A) 5 B) 4 C) 2 D) 313.运行以下程序段的输出结果是【13】。
int a=5;if(a++>5) printf("%d\n",a);else printf("%d\n",a--);A) 4 B) 6 C) 5 D) 有语法错误14.定义以下结构体数组struct date{ int year;int month;int day; };struct s{ struct date birth;char name[20];} x[4]={{1977, 8, 7, "hangzhou"}, {1975, 9, 5, "Tianjin"}};语句printf("%s,%d,%d,%d", x[0].name,x[1].birth.year,x[1].birth.month, x[1].birth.day); 的输出结果为【13】。
A) hangzhou,1977,8,7 B) hangzhou,1975,9,5C) Tianjin,1977,8,7 D) Tianjin,1975,9,515.下列各程序段中,可以实现1×2×3×4×5×6×7×8×9×10的是【15】。
A) int k=1,M=0; for (;k<11;++k) M*=k;B) int k=1,M=1; while (k<10); M*=k,k++;C) int k=1,M=1; for (;;++k); M*=k;D) int k=1,M=1; while (k<=10) {M*=k;k++;}16.下面程序段,不是死循环的是【16】。
A) int i=100;while(2){i=i%100+1;if(i>100) break;}B) for( ; ; );C) int k=0;do{++k;} while(k>=0);D) int s=45;while(s); s--;17. 为表示关系y在闭区间[x,z]内,应使用的C语言表达式是(【17】)。
A) (x<=y)&&(y<=z) B)(x<=y)AND(y<=z)C) x<=y<=z D)(x<=y)&(y<=z)18. 下面的程序运行后输出的结果是【18】。
main(){int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]; p=a;printf("%d",*(*(p+2)+3)); }A) 9 B) 15 C) 21 D) 2319.下列一维数组说明中,正确的是(【19】)。
A) #define SIZE 8float b[SIZE];B) int n; scanf("%d", &n); float b[n];C) int m=7, a[m];D) int a(10);20.运行下面的程序段,输出结果是(【20】)。
int i=0;char s1[10]="abc", s2[10]="efg";strcat(s1,s2);while (s1[i++]!='\0')s2[i]=s1[i];puts(s2);A) abcefg B) efgabc C) ebcefg D) afgabc21.若有说明char s1[5],s2[7];要给s1和s2赋值,下列语句中正确的是(【21】)。
A) scanf("%s%s",&s1, &s2); B) gets(s1, s2);C) scanf("%s%s", s1, s2); D) s1=getchar( ); s2=getchar( );22.下面的程序用来求二维数组的最大元素及其位置,请选择正确的答案填入程序空白处。
#include <stdio.h>main(){ int a[5][4],i,j,max,row,col;for(i=0;i<5;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);max=a[0][0];row=0;col=0;for(【22】)for(j=0;j<4;j++)if(max<a[i][j]){ max=a[i][j];row=i;col=j;}printf("max=%d,row=%d,col=%d\n",max,row,col);}A) i=4;i>0;--i B) i=0;i<5;i++ C) i=-1;i<4;++i D) i=5;i>0;--i23.冒泡法由小到大排序,请选择正确的答案填入程序空白处。
#include <stdio.h>#define N 20main(){ int i,j,a[N],t;for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N-i-1;j++)if(【23】){ t=a[j];【24】;a[j+1]=t;}for(i=0;i<N;i++)printf("%d ",a[i]);}【23】A) a[i]>a[j] B) a[j]>a[j+1]C) a[i]<a[j] D) a[j]<a[j+1]【24】A) a[j]=a[j+1] B) a[j+1]=a[j]C) a[i]=a[j] D) a[j]=a[i]24.如果有初始化语句char c[]="a boy";则数组的长度自动定义为(【25】)。
A) 4 B) 5 C) 6 D) 725. 若已有定义char s1[6]="apple";int i;下列输出函数调用中正确的是(【26】)。
A) for (i=0; i<6; i++) putchar(s1); B) puts(&s1);C) puts(s1[6]); D) printf("%s",s1);26. 下面程序段运行后,输出结果是(【27】)。
int i, j, x=0;static int a[6]={1,2,3};for (i=0,j=1; i<3 && j<4; ++i, j++ )x+=a[i]+a[j];printf("%d", x);A) 8 B) 11 C) 10 D) 不确定值27. 若已有定义static char str[7]; 要将键盘输入的字符串"a pear" 赋给str,应使用(【28】)。
A) gets(str); B) scanf("%s",str);C) str="a pear"; D) getchar(str);28.若定义 int a=7,b=9,*p1,*p2;下列四组赋值语句中,正确的一组是【29】。
A) p2=&a;p1=&b;*&a=*p1; B) p1=&a;p2=*&p1;a=&*p2;C) p1=&b;p2=&p1;*p1=*p2; D) p2=*&a;p1=*&b;29.若定义 int a=8,b,*p=&b;则下面对赋值语句p=&a;*p=a;的正确解释为【30】。