C语言试题 (7)

合集下载

中级程序设计员(C语言)知识试卷(7)

中级程序设计员(C语言)知识试卷(7)

线名姓封号证考准区标地程序设计员理论考试试卷注意事项1.请首先按要求在试卷的标封处填写您的地区、准考证号和姓名。

2.请仔细阅读各种题目的回答要求,在答题卡位置填写您的答案。

3.请用蓝色(或黑色)钢笔、圆珠笔答卷,不要在试卷内填写与答题无关的内容。

4.本试卷满分为100分;考试时间60分钟。

一、单项选择题(每小题1分,本题共20分)1、二进制语言是属于()。

A、面向机器语言B、面向问题语言C、面向过程语言D、面向汇编语言2、下列字符列中,不是用来表达转义字符的是()。

A、\\B、\'C、074D、\03、若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则Z的值为()。

A、1.9B、1C、2D、2.44、在C语言中,下列说法中错误的是()。

A、函数定义可以分为两个部分:函数说明部分和函数体B、主函数可以调用任何非主函数C、任何非主函数可以调用其它任何非主函数D、程序可以从任何函数开始执行5、在以下字符列中,合法的长整型常数是()。

A、OLB、4962710C、0.054838743D、2.1869el06、数据库系统的三级模式不包括()。

A、概念模式B、内模式C、外模式D、数据模式7、执行语句“x=(a=3,b=a—-);”后,X,a,b的值依次为()。

A、3,3,2B、2,3,2C、3,2,3D、2,3,38、设有无符号短整型变量i、j、k,i值为013,j值为OX13。

计算表达式“k=~i|j>>3”后,k的值是()。

A、06B、0177776C、066D、01777669、若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()。

A、3 5B、3,5C、3;5D、3510、设X、y、Z、t均为int型变量,则执行以下语句后,t的值为()。

x=y=z=1;t=++x||++y&&++z;A、不定值B、2C、lD、011、若有定义语句:int a=10;double b=3.14;,则表达式'A'+a+b值的类型是()。

c语言试题7

c语言试题7
C:可以有也可以没有形参
D:数组名不能作形参
第9题 (1分)
以下能对二维数组a进行正确初始化的语句是(B).
A:int a[2][]={{1,0,1},{5,2,3}};
B:int a[][3]={{1,2,3},{4,5,6}};
C:int a[2][4]={{1,2,3},{4,5},{6}};
A:long
B:_2Test
C:3Dmax
D:A.dat
━━━━━━━━━━━━━━━
四、程序填空 共2题 (共计16分)
━━━━━━━━━━━━━━━━
第1题 (8分)
/*-------------------------------------------------------
若a是float型变量,b是unsigned型变量,以下输入语句中合法的是(C).
A:scanf("%6.2f%d",&a,&b);
B:scanf("%f%n",&a,&b);
C:scanf("%f%3o",&a,&b);
D:scanf("%f%f",&a,&b);
第30题 (1分)
以下选项中合法的用户标识符是(B).
第14题 (2分)
int x=4,y=z=2;x=x==(y=z); 则x的值为【0】.
第15题 (2分)
输入整型变量a的值. int a; scanf("%d",【&a】);
━━━━━━━━━━━━━━━
二、判断 共10题 (共计10分)

C语言面试题目7

C语言面试题目7

A)fun(int y,double m); B)k=fun(10,12.5);
C)fun(x,n); D)void fun(n,x);
答案:C
评析:函数调用的一般形式为:函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。
int I,j,s=0;
for(I=O;i<2;i++)p[i]=ch[I];
for(I=O;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+(p[i][j].’0’);
printf(”%d\n”,s);
}
该程序的输出结果是_________。
A)数据所占的存储空间量
B)数据的逻辑结构在计算机中的表示
C)数据在计算机中的顺序存储方式
D)存储在外存中的数据
答案:B
评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
(3)设有下列二叉树:
对此二叉树中序遍历的结果为________。
A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA
答案:B
评析:中序遍历是指首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树的一种二叉树遍历算法。
(4)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送________。
答案:C
评析:本题考查的是if..else语句的使用。x=2.0,符合第二个IF语句的条件x<lO.O,所以执行y=1.0/x语句,即y=1.0/2.0=0.500000。

《C语言程序设计》试题七及答案

《C语言程序设计》试题七及答案

《C语言程序设计》试题七 (1)一、填空题 (1)二、选择题 (2)三、判断题 (3)四、程序填空题 (4)五、阅读程序,写出下列程序段的结果 (5)六、编程题 (6)《C语言程序设计》试题七答案 (7)《C语言程序设计》试题七一、填空题1.在C语言程序设计中,正确的标识符是由____________________组成的。

2.设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。

3.一个变量的指针是指_____________________________________________。

4.能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________。

5.下面运算符< % ++ = 按照优先级从高到低排列顺序为______________。

6.C程序设计中语句后的符号/*……*/ 所起作用是_________________________。

7.写出下面表达式的值3*5/7+7%3____________________ x=2 ; y=4; (x++)+y _____________________ 3+4>=7-10_____________________ 3>4 ? 3%2: 1 ___________________x=2,y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________二、选择题⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为()A.FILE B.RUN C.EDIT D.OPTION⑵.下列语句不具有赋值功能的是()A.a*=b B.x=1 C.a+b D.a++⑶.C语言程序中,当出现条件分支语句if~else时, else与()组成配对关系A.同一复合语句内部的if B.在其之前任意的ifC.在其之前未配对的最近的if D.首行位置相同的if⑷.下列数组定义方式不正确的语句是()A.char x[5]; B.char y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};C. int x[10]={12,13,14,15}; D.int y[];⑸. 若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A. *(a+2) B.a[p-3] C.p+2D.a+3⑹. 下列()表达式的值为真a=5; b=8; c=10; d=0A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b<c*d⑺. 下列字符数组长度为5的是() A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }⑻. 执行下列程序后,其结果为()int a[]={2,4,6,8,10,12}; *p;p=a;*(p+4) =2;printf(“%d,%d\n”,*p,*(p+4));A.0,10 B.0,2 C.2,10 D.2,2⑼.有下列结构体,对该结构体变量stu的成员项引用不正确的是()struct student{ int m;float n;} stu ,*p;A. stu.n B.p->m C.(*p).m D.p.stu.n ⑽.下列函数中不能用于对文件进行输入输出操作的是()A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( )三、判断题1.C语言程序设计可以对计算机硬件进行操作。

C语言习题集合7(指针)

C语言习题集合7(指针)

第七部分 指针7.1 选择题1. 若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是()。

A . p=q;B . *p=*q;C . a=*q;D . q=a;2. 若定义:int a=511, *b=&a ;,则printf("%d\n ", *b);的输出结果为:A . 无确定值B . a 的地址C . 512D . 5113. 已有定义 int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是()。

A . a=*p1+*p2;B . p1=a;C . p1=p2;D . a=*p1*(*p2);4. 变量的指针,其含义是指该变量的()。

A . 值B . 地址C . 名D . 一个标志5. 若有说明语句:int a, b, c, *d=&c ;,则能正确从键盘读入三个整数分别赋给变量a 、b 、c 的语句是()。

A . scanf("%d%d%d ", &a, &b, d);B . scanf("%d%d%d ", a, b, d);C . scanf("%d%d%d ", &a, &b, &d);D . scanf("%d%d%d ", a, b,*d);6. 若已定义int a=5; 下面对(1)、(2)两个语句的正确解释是()。

(1) int *p=&a; (2) *p=a;A . 语句(1)和(2)中的*p 含义相同,都表示给指针变量p 赋值。

B . (1)和(2)语句的执行结果,都是把变量a 的地址值赋给指针变量p 。

C . (1)在对p 进行说明的同时进行初始化,使p 指向a ;(2)变量a 的值赋给指针变量p 。

D . (1)在对p 进行说明的同时进行初始化,使p 指向a ;(2)将变量a 的值赋予*p 。

C语言上机考试试题7

C语言上机考试试题7

果自负)。该程序功能:分别统计字符串中所有英文字母中的各元音字 母个数。例如:在程序中输入: apple 结果:1 1 0 0 0 答案:gets(a); 运行样例1行 运行样例1:apple 结果:1 1 0 0 0 3. 该程序功能:运行时若输入a、n的值分别为3、6,则输出表达式 3+33+333+3333+33333+333333的值。 #include <stdio.h> void main() { int i,a,n,t=0; int s=0; scanf("%d%d",&a,&n); for(i=1;i<=n;i++) { t=t*10+i; /*$1*/ s=s+t; } printf("%d\n",s); } 操作说明: 在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语 句 t=t*10+i; 有错误,请改正(注意:不得加行、减行、加句、减句, 否则后果自负)。该程序功能:根据输入情况来输出一个表达式的值。 例如:在程序中输入: 3 3 ,结果为表达式 3+33+333的值:369。 答案:t=t*10+a; 运行样例1行 运行样例1:3 3 结果:369 4. 以下函数mystrcat(str1,str2)的作用是:把字符串str2连接到字符串 str1后面,形参str1和str2用指针实现。 #include <stdio.h> void mystrcat(char *str1,char *str2) { while(*str1!='\0') str1++; while(*str2!='\0')

江苏省计算机二级C语言试题笔试 (7)

江苏省计算机二级C语言试题笔试 (7)
5.现行PC机中,IDE(或SATA)接口标准主要用于( 5 )
A.打印机与主机的连接c.声卡与主机的连接
B.显示器与主机的连接D.硬盘与主机的连接
6.下列有关PC机的CPU、内存和主板的叙述中,正确的是( 6 )。
A.大多数Pc机只存一块CPu芯片,即使是“双核”CPU也是一块芯片
B.所有Pentium系列微机的内存条相同,仅有速度和容量大小之分
都有一个IP地址。下面不能作为IP地址的是( 10 )
A.120.34.0.18 C.21.18.33.48
B. 201.256.39.68 D.37.250.68.0
11.常用局域网有以太网、FDDI网等,下面的叙述中错误的是( 11 )
A•总线式以太网采用带冲突检测载波侦听多路访问(CSMA/CD)方法进行通信
19.在下列有关Microsoft Word 2000/2003(中文版)功能的叙述中,( 19 )
A.起始页的页码可以不为1
B.利用菜单命令,可更改所选英文文本的大小写
C.利用菜单命令“字数统计”,可以统计出当前文档的行数和段落数
D.表格中的数据不可排序,也不能利用公式进行统计计算
20.在下列有关Microsoft PowerPoint 200012003(中文版)功能的叙述中,错误的是( )
int t;
int sub(int *s)
{ *s+=1:
t+=*S:
retum t;
}
main()
{ int i;
for(i=1;i<4;i++)
printf("%4d",sub(&i));
}
8.以下程序运行时输出结果是(8)。

青少年软件编程(C语言)等级考试试卷(七级)202206

青少年软件编程(C语言)等级考试试卷(七级)202206

青少年软件编程(C语言)等级考试试卷(七级)分数:100 题数:4一、编程题(共4题,共100分)1. 重建二叉树给定一棵二叉树的前序遍历和中序遍历的结果,求其后序遍历。

时间限制:1000内存限制:65536输入输入可能有多组,以EOF结束。

每组输入包含两个字符串,分别为树的前序遍历和中序遍历。

每个字符串中只包含大写字母且互不重复。

输出对于每组输入,用一行来输出它后序遍历结果。

样例输入样例输出试题编号:_7_01试题类型:编程题标准答案:试题难度:一般试题解析:#include<bits/stdc++.h>using namespace std;struct Node{char c;Node *lchild;Node *rchild;int loc;char str1[100],str2[100];Node *create(){tree[loc].lchild=tree[loc].rchild=NULL;return &tree[loc++];}Node *build(Node *root,int q1,int q2,int z1,int z2){root=create();char cr=str1[q1];root->c=cr;int idx=z1;for(;idx<=z2;idx++){if(str2[idx]==cr)break;}if(idx!=z1){root->lchild=build(root->lchild,q1+1,q1+(idx-z1),z1,idx-1);}if(idx!=z2){root->rchild=build(root->rchild,q1+(idx-z1)+1,q2,idx+1,z2);}return root;}void PostOrder(Node *root) {if(root->lchild!=NULL){PostOrder(root->lchild);}if(root->rchild!=NULL){PostOrder(root->rchild);}cout<<root->c;}int main() {while(cin>>str1){cin>>str2;loc=0;Node *root=NULL;int len1=strlen(str1);int len2=strlen(str2);root=build(root,0,len1-1,0,len2-1);PostOrder(root);cout<<endl;}}展示地址:点击浏览考生答案:(此题已作答)考生得分:25是否评分:已评分评价描述:2. 快速堆猪小明有很多猪,他喜欢玩叠猪游戏,就是将猪一头头叠起来。

c语言第7章函数练习题

c语言第7章函数练习题
3. 以下对 C语言函数的有关描述中,正确的是( )。 A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. C函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
4. C语言程序中,当函数调用时( )。 A. 实参和形参各占一个独立的存储单元 B. 实参和形参共用一个存储单元 C. 可以由用户指定是否共用存储单元 D. 计算机系统自动确定是否共用存储单元
fun(int x,int y,int z)
{ z=x*x+y*y;}
main()
{
int a=31;
fun(5,2,a);
printf("%d",a);
}
A.0
B.29
30.下列程序执行后的输出结果是( )。
voidfunc1(int i);
voidfunc2(int i);
charst[]="hello,friend!";
printf("%d\n",x);
}
上面程序的输出结果是( )。
A.720
B.120
C.24
39.下面程序的输出是( )。
main()
{
intt=1;
fun(fun(t));
}
fun(inth)
{
staticinta[3]={1,2,3};
intk;
for(k=0;k<3;k++) a[k]+=a[k]-h;
B. 不同函数中,可以使用相同名字的变量
C. 形式参数是局部变量
D. 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效

C语言习题七编译预处理

C语言习题七编译预处理

习题七编译预处理1.有一个名为init.txt的文件,内容如下:#define HDY(A,B) A/B#define PRINT(Y) printf("y=%d\n",Y)有以下程序#include "init.txt"main(){ int a=1,b=2,c=3,d=4,k;k=HDY(a+c,b+d);PRINT(k);}下面针对该程序的叙述正确的是______。

A、编译出错B、运行出错C、运行结果为 y=0D、运行结果为 y=6解析:本题考查的是带参数的宏定义。

宏替换后,表达式k=HDY(a+c,b+d)即变为k=a+c/b+d=1+3/2+4=6。

故本题答案选D。

2.有以下程序#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf ("%d %d\n",i1,i2);}程序的运行结果是______。

A、12 12B、11 7C、11 11D、12 7解析:本题考查的是宏定义。

在编译时预处理程序用"替换文本"来替换宏,并用对应的实参来替换"替换文本"。

此题中的替换文本分别为:N+1、(x*M)。

引用带参的宏名i1=f(2),在经过宏替换后i1=2*N+1=2*5+1=11(注:因为在对宏 M 的替换中N+1没有加括号,所以对宏f(x)的替换文本展开后就变为:x*N+1形式);与上相同 i2在引用带参的宏名并替换展开后变为:i2=1+1*N+1=1+1*5+1=7。

故本题答案为B。

3.以下叙述中错误的是______。

A、C程序中的#include和#define行均不是C语句B、除逗号运算符外,赋值运算符的优先级最低C、C程序中,j++;是赋值语句D、C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算解析:本题考查的是C语言运算符。

C语言习题(7)

C语言习题(7)

C语言习题(第7章函数)一.选择题1.以下说法正确的是________。

A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分2.以下正确的说法是___________。

A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

3.以下正确的函数定义是___________。

A)double fun(int x, int y); B)int fun(int x,y){ z=x+y ; return z ; } { int z ; return 3;}C)double fun (x,y) D)double fun (int x, int y){ int x, y ; double z ; { double z ; z=x+y;z=x+y ; return z ; } return z ; }4.C语言中,简单变量做实参和形参时,以下正确的说法是___________。

A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用相同的存储单元D)形参时虚拟的,不占用存储单元5.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是___________。

A)地址传递B)单向值传递D)由用户指定传递方式6.C语言规定,函数返回值的类型是由___________决定的。

A)return语句中的表达式类型B)调用该函数时的主调函数类型C)调用该函数时由系统临时D)在定义函数时所指定的函数类型7.以下正确的描述是___________。

计算机二级 C语言 程序设计基础试题七

计算机二级  C语言 程序设计基础试题七

《程序设计》考试试卷七1.C语言中,如果对函数类型未加说明,则函数的隐含类型为()A.duobleB. voidC.intD.char2.union data{ int i;char c;float f; };定义了()A.共用体类型dataB.共用体变量dataC.结构体类型dataD.J结构体变量data3.设a=3,b=4,表达式a>b?b:a的值是()A.3B. 4C.4:3D.04.下面对枚举类型的叙述,不正确的是()A.定义枚举类型用enum开头B.枚举常量的值是一个常数C.一个整数可以直接赋给一个枚举变量D.枚举值可以用来作判断比较5.求0到50的总和,不正确的程序段是()A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i;B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;}D. int i,sum=0;for(i=0; ;i++) {if(i>50) break; sum+=i;}6. 表达式 (int)3.6*3的值为()A.9 B. 10 C . 10.8 D.187.程序的结果为()main(){ int a=3,b=4,t=1;if (a>b){t=a;a=b;b=t;}printf(“%d”,a) }A. 3B.4C.1D.08.程序main(){ int a=1;switch(a){ case 1: printf(“1”);case 2: printf(“2”);default: printf(“other”);}} 的结果为()A.12otherB.1C.2D.Other9.函数strcmp(“A”, “B”)的值为( )A.0B.-1C.1D.310.下程序的结果为( )int f(a) int a;{ auto int b=0; static int c=3; b=b+1; c=c+1;return(a+b+c);}main(){ int a=2,i;for (i=0;i<3;i++)printf(“%d”,f(a));}A.789B.777C.8910D.911.合法的C语言标识符是()A.ab&cB.2abC._a1D./n12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()A.6.5B.7C.6D.813.标有/* */语句的输出结果为()int x=20; printf(“%d,%o,%x”,x,x,x);/* */A.20,20,20B.20,24,14C.20,14,24D.20,024,1414. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为()A. int (*p)[n];B. int *p[n];C.int p[n];D. int **p[n];15. 下面程序执行结果是()main(){ char c1,c2;int i=2;c1=’a’;c2=’c’;c1=c1+i; c2=c2-i;printf(“%c,%d”,c1,c2);/*’a’的ASCII码为97*/A.语法错误 B.99,97 C.c,a D.c,9716.请问:071^052的结果是()A.032B.016C.023D.02217.下面对函数的叙述,不正确的是()A.函数的返回值是通过函数中的return语句获得的B.函数不能嵌套定义C.一个函数中有且只有一个return语句D.函数中没有return语句,并不是不带回值18.下面的叙述,不正确的是()A.宏名无类型,其参数也无类型B.宏定义不是C语句,不必在行末加分号C.宏替换只是字符替换D.宏替换定义命令必须写在文件开头19.有定义int a[3][4],输入其3行2列元素的正确语句为()A.scanf(“%d”,a[3,2]);B.scanf(“%d”,*(*(a+2)+1))C.scanf(“%d”,*(a+2)+1);D.scanf(“%d”,*(a[2]+1));20.下面对指针变量的叙述,正确的是()A.指针变量可以加上一个指针变量B.可以把一个整形数赋给指针变量C.指针变量的值可以赋给指针变量D.指针变量不可以有空值,即该指针变量必须指向某一变量二、阅读程序,写出执行结果(每题5分,共20分)1、#include “stdio.h”main(){ int i,k,a[10],p[3];k=5;for ( i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for ( i=0;i<3;i++) k+=p[i]*2;printf(“%d\n”,k); }2、#include “stdio.h”main( ){ int a=2,*p,**pp;pp=&p;p=&a;a++;printf(“%d,%d,%d\n”,a,*p,**p p);}3、main( ){ union{ char s[2];int i;}g;g.i=0x4142;printf(“g.i=%x\n”,g.i);printf(“g.s[0]=%x\t g.s[1]=%x\n”,g.s[0],g.s[1]);g.s[0]=1;g.s[1]=0;printf(“g.s=%x\n”,g.i); }4、#include “stdio.h”main( ){ int x=1;void f1( ),f2( );f1( );f2(x);printf(“x=%d\n”,x);}void f1(void){ int x=3; printf(“x=%d\n”,x);}void f2(x)int x;{ printf(“x=%d\t”,x);}Q (下列每小题只有一个错误,请改正。

C语言第3版 选择题(第7、8、9章)

C语言第3版 选择题(第7、8、9章)

习题七一、选择题1.下列叙述中错误的是C。

A) 预处理命令必须以#号开头B) 预处理命令可以写成多行C) 预处理命令必须置于源文件的开始处D) 预处理命令以回车结束2.C语言编译系统对宏替换的处理是在A进行的。

A) 源程序编译前B) 源程序编译时C) 程序连接时D) 程序运行时'3.在宏定义#define PI 中,是C。

A) 单精度数B) 双精度数C) 字符串D) 由PI位置确定其类型4.设有宏定义#define A B abcd ,则宏替换时,A。

A) 宏名A用B abcd 替换B) 宏名A B用abcd 替换C) 宏名A 和宏名B都用abcd 替换D) 语法错误,无法替换5.下列有关宏的叙述中错误的是A。

A) 宏名必须使用大写英文字母~B) 宏替换不占用程序的运行时间C) 宏参数没有数据类型D) 宏名没有数据类型6.下列宏定义,最不会引起二义性的是D。

A) #define ADD(a,b) a+bB) #define ADD(a,b) (a)+(b)C) #define ADD(a,b) (a+b)D) #define ADD(a,b) ((a)+(b))7.设有宏定义#define M 3+2 则表达式2 * M * 3 的值为B。

A) 30 B) 12'C) 10 D) 138.设有宏定义#define Y(n) (4*n) 则表达式3+Y(5+1)的值为B。

A) 21 B) 24C) 27 D) 309.设有宏定义:#define N 3#define M N+2则表达式2*M/N的值为A。

A) 6 B) 3C) D) 错误·替换为2*3 + 2 /3,其中,2/3是整除,值为110.在#include命令中,#include后面的文件名用双引号定界,则系统寻找被包含文件的方式是 D 。

A) 在C系统的include文件夹查找B) 在源程序所在文件夹查找C) 先在C系统的include文件夹查找,查找失败后再到源程序所在文件夹查找D) 先在源程序所在文件夹查找,查找失败后再到C系统的include文件夹查找11.(不要求)设有以下A、B两个程序段,则说法正确的是B。

计算机等级考试二级C语言考前密卷(7)

计算机等级考试二级C语言考前密卷(7)

(1)最简单的交换排序⽅法是 A)快速排序B)选择排序 C)堆排序D)冒泡排序(2)栈通常采⽤的两种存储结构是 A)线性存储结构和链表存储结构 B)散列⽅式和索引⽅式 C)链表存储结构和数组 D)线性存储结构和⾮线性存储结构(3)线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构(4)完全不考虑程序的内部结构和内部特征,⽽只是根据程序功能导出测试⽤例的测试⽅法是 A)⿊箱测试法 B)⽩箱测试法 C)错误推测法 D)安装测试法(5)在结构化设计⽅法中,⽣成的结构图(SC)中,带有箭头的连线表⽰ A)模块之间的调⽤关系 B)程序的组成成分 C)控制程序的执⾏顺序 D)数据的流向(6)下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公⽤耦合(7)⼀个关系中属性个数为1时,称此关系为 A)对应关系 B)单⼀关系 C)⼀元关系 D)⼆元关系(8)为⽤户与数据库系统提供接⼝的语⾔是 A)⾼级语⾔B)数据描述语⾔(DDL) C)数据操纵语⾔(DML)D)汇编语⾔(9)相对于数据库系统,⽂件系统的主要缺陷有数据关联差、数据不⼀致性和 A)可重⽤性差 B)安全性差 C)⾮持久性 D)冗余性(10)需求分析阶段的任务是确定 A)软件开发⽅法 B)软件开发⼯具 C)软件开发费⽤ D)软件系统功能(11)下列关于C语⾔的说法不正确的是 A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能 B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号 C)注释可以出现在程序中任意合适的地⽅ D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句(12)下列关于标识符的说法中错误的是 A)合法的标识符是由字母、数字和下划线组成 B)C语⾔的标识符中,⼤写字母和⼩写字母被认为是两个不同的字符 C)C语⾔的标识符可以分为三类,即关键字、预定义标识符和⽤户标识符 D)⽤户标识符与关键字不同时,程序在执⾏时将给出出错信息(13)下列合法的整型常量的表⽰是 A)098 B)oXde C)32767 D)0xDG(14)现在有以下定义,int a;double b;float c;char k;则下⾯的表达式a/b+c-k值的类型为: A)int B)double C)float D)char(15)假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为 A)17 B)16 C)15 D)14(16)下列关于复合语句和空语句的说法错误的是 A)复合语句是由“{”开头,由“}”结尾的 B)复合语句在语法上视为⼀条语句 C)复合语句内,可以有执⾏语句,不可以有定义语句部分 D)C程序中的所有语句都必须由⼀个分号作为结束(17)关于printf()函数的返回值叙述正确的是 A)通常是本次调⽤中输出字符的个数 B)通常是输出的第⼀个数值 C)通常返回布尔值真 D)通常返回⾮零值(18)现有格式化输⼊语句,scanf("x=%dц,sumцy=%d,lineцz=%dL",&x,&y,&z);,现在已知在输⼊数据后,x,y,z的值分别是12,34,45,则下列数据是正确的输⼊格式的是 A)12,34,45 B)x=12,y=34,z=45 C)x=12C,sumy=34,z=45 D)x=12],sum]y=34,line]z=45 [注]:“ц”表⽰空格, 表⽰回车(19)设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执⾏这个语句后t的值为 A)2 B)1 C)0 D)不定值(20)现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include main() { int a=30,b=40,c=50,d; d=a>30?b:c; switch(d){case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c); default:printf("#");}} A)default:printf("#");这个语句 B)d=a>30?b:c;这个语句 C)case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句 D)switch(d)这个语句(21)下列语句中,错误的是(x,y,a,b假设已经定义好) A)while(x=y)5; B)do x++ while(x==10); C)while(0); D)do 2;while(a==b);(22)若i,j已经定义为整型,则以下程序段中,内循环体的执⾏次数是 for(i=6;i;i--) for(j=0;j<5;j++){……} A)40 B)35 C)30 D)25(23)下列说法中错误的是 A)只能在循环体内使⽤break语句 B)在循环体内使⽤break语句可以使流程跳出本层循环体,从⽽提前结束本层循环 C)在while和do…while循环中,continue语句并没有使整个循环终⽌ D)continue的作⽤是结束本次循环,即跳过本次循环体中余下尚未执⾏的语句,接着再⼀次进⾏循环判断(24)阅读如下程序段 #include "stdio.h" main() { int x,a,b; scanf("%d",&x); a=b=x; for(;x!=0;) { if(x if(x>a)a=x; scanf("%d",&x);} printf("a=%d,b=%d\n",a,b);} 现输⼊如下。

C语言习题(7)

C语言习题(7)

C语言习题(7)第7章函数一.填空题1.C语言中从函数的形式分可分为无参函数和。

2.在C语言中,一个自定义函数一般由两部分组成,它们是函数首部和。

3.从用户使用角度看,函数有两种:标准函数和。

4.若一个函数不需要形参,则在定义该函数时应使形参表为空或者放置一个标识符。

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

6.已知函数定义:void dothat(int n, double x) { …… },其函数声明的两种写法为_________________________,_________________________。

7.C语言变量按其作用域分为和;按其生存期分为___________和。

8.C语言变量的存储类别有,,和。

9.凡在函数中未指定存储类别的局部变量,其默认的存储类别为。

10.在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为。

11.C语言中,形式参数的缺省存储类型是。

12.C语言中,若为指定函数是内部函数或外部函数,则默认该函数是。

二.选择题1.以下正确的说法是___________。

A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

2.以下正确的函数定义是___________。

A)double fun(int x, int y); B)int fun(int x,y){ z=x+y ; return z ; } { int z ; return 3;}C)double fun (x,y) D)double fun (int x, int y){ int x, y ; double z ; { double z ; z=x+y;z=x+y ; return z ; } return z ; }3.C语言中,简单变量做实参和形参时,以下正确的说法是___________。

计算机等级考试二级C语言模拟试卷(七)

计算机等级考试二级C语言模拟试卷(七)

全国计算机等级考试二级C语言模拟试卷(七)一、选择题(每小题1分,共40分)1、下列关于循环队列的叙述,正确的是A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2、下列叙述中,正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.栈和队列都是操作受限的线性结构3、一棵二叉树共有25个节点,其中5个叶子节点,那么度为1的节点数为A.4 B.6 C.10 D.164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式5、在满足实体完整性约束的条件下A.一个关系中可以没有候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中应该有一个或者多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A.自然连接B.并C.差D.交7、软件生命周期中的活动不包括A.软件维护B.市场调研C.软件测试D.需求分析8、下列不属于需求分析阶段任务的是A.确定软件系统的功能需求B.确定软件系统的性能需求C.制定软件集成测试计划D.需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10、在软件设计中不使用的工具是A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A.确定算法和数据结构、编码、调试、整理文档B.编码、确定算法和数据结构、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档12、下列关于C语言中数的表示的叙述,正确的是A.只有整型数在允许范围内能精确无误的表示,实型数会有误差B.只要在允许范围内整型和实型都能精确的表示C.只有实型数在允许范围内能精确无误的表示,整型数会有误差D.只有用八进制表示的数才不会有误差13、下列关于算法的叙述,错误的是A.算法可以用伪代码、流程图等多种形式来描述B.一个正确的算法必须有输入C.一个正确的算法必须有输出D.用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名15、设有以下语句char ch1,ch2; scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔16、下列选项中,非法的字符常量是A.’\102’B.’\65’C.’\xff’D.’\019’17、有以下程序#include <stdio.h>main(){int a=0,b=0,c=0;c=(a-=a-5); a=b,b+=4;p rintf(“%d, %d, %d\n”,a,b,c)}程序运行后输出的结果是A.0,0,0 B.0,4,5 C.4,4,4 D.4,4,518、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A.x++; printf((“%d\n”,x); B.n=++x; printf((“%d\n”,n);C.++x; printf((“%d\n”,x); D.n=x++; printf((“%d\n”,n); 19、以下选项中,能表示逻辑值“假”的是A.0 B.0.000001 C.1 D.100.020、有以下程序#include <stdio.h>main(){ int a;s canf(“%d”,&a);if (a++<9) printf((“%d\n”,a);else printf(“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结果是A.8 B.9 C.10 D.11 21、有以下程序#include <stdio.h>int main(){int s=0,n;for (n=0;n<3;n++){switch(s){ case 0:case 1:s+=1;case 2:s+=2;break;case 3:s+=3;default:s+=4;}printf("%d,",s);}return 0;}程序运行后的结果是A.1,2,4, B.1,3,6 , C.3,6,10, D.3,10,14, 22、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++)printf(“****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23、有以下程序#include <stdio.h>int main(){char a,b,c;b='1';c='A';for (a=0;a<6;a++){if(a%2) putchar(b+a);else putchar(c+a);}return 0;}程序运行后输出的结果是A.123456 B.1B3D5F C.A2C4E6 D.ABCDEF24、设有如下定义语句int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A.*(k+2) B.k+2 C.*k+2 D.*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

全国计算机等级考试二级C语言笔试模拟试题(7)-中大网校

全国计算机等级考试二级C语言笔试模拟试题(7)-中大网校

全国计算机等级考试二级C语言笔试模拟试题(7)总分:100分及格:60分考试时间:120分每小题1分,共40分(1)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A. e3,e1,e4,e2B. e4,e3,e2,e1C. e3,e4,e1,e2D. 任意顺序(2)下列关于标识符的说法中错误的是A. 合法的标识符是由字母、数字和下划线组成B. C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C. C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D. 用户标识符与关键字不同时,程序在执行时将给出出错信息(3)下列常量中,为不合法的实型常量表示的是A. .0032B. 0.0C. 0.3242E8D. .E3(4)字符型数据在机器中是用ASCII码表示的,字符"5"和"7"在机器中表示为A. 10100011和01110111B. 01000101和01100011C. 00110101和00110111D. 01100101和01100111(5)以下说法错误的是A. 一个算法应包含有限个步骤B. 在计算机上实现的算法是用来处理数据对象的C. 算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D. 算法的目的是为了求解(6)下列程序执行后的输出结果是main(){ int a[3][3], *p,i; p=&amp;a[0][0]; for(i=1; i&lt;9; i++)p[i]=i+1; printf("%d\n",a[1][2]);}A. 3B. 6C. 9D. 随机数(7)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理(8)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; } main(){int a,b[5]; a=0; b[0]=3; func(&amp;a,b); printf("%d\n",b[0]); }A. 6B. 7C. 8D. 9(9)数据处理的最小单位是A. 数据B. 数据元素C. 数据项D. 数据结构(10)数据库系统的核心是A. 数据库B. 数据库管理系统C. 模拟模型D. 软件工程(11)下列关于C语言数据文件的叙述中正确的是A. 文件由ASCII码字符序列组成,C语言只能读写文本文件B. 文件由二进制数据序列组成,C语言只能读写二进制文件C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(12)下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me&lt;回车&gt; 则程序输出的结果是#include "stdio.h" main(argc,argv)int argc;char*argv[]; {int i; printf("%d\n",argc);}A. 3B. 4C. 2D. 以上答案都不正确(13)在单链表中,增加头结点的目的是A. 方便运算的实现B. 使单链表至少有一个结点C. 标识表结点中首结点的位置D. 说明单链表是线性表的链式存储实现(14)以下程序的输出结果是main(){ int x=1,y=3; printf("%d,",x++); { int x=0;x+=y*2; printf("%d,%d, ",x,y); } printf("%d,%d\n",x,y); }A. 1,6,3,1,3B. 1,6,3,6,3C. 1,6,3,2,3D. 1,7,3,2,3(15)在计算机中,算法是指A. 加工方法B. 解题方案的准确而完整的描述C. 排序方法D. 查询方法(16)数据库的故障恢复一般是由A. 数据流图完成的B. 数据字典完成的C. DBA完成的D. PAD图完成的(17)有如下定义struct person{char name[9];int age;}; struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,}; 根据上述定义,能输出字母M的语句是A. printf("%c\n",class[3].name);B. printf("%c\n",class[3].name[1]);C. printf("%c\n",class[2].name[1]);D. printf("%c\n",class[2].name[0]);(18)请选出可用作C语言用户标识符的是A. void,define,WORDB. a3_b3,_123,IFC. FOR,--abc,CaseD. 2a,Do,Sizeof(19)下列语句中,错误的是(x,y,a,b假设已经定义好)A. while(x=y)5;B. dox++while(x==10);C. while(0);D. do2;while(a==b);(20)以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(21)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a [50],n; …fun(n, &amp;a[9]); …}A. voidfun(intm,intx[])B. voidfun(ints,inth[41])C. voidfun(intp,int*s)D. voidfun(intn,inta)(22)下列叙述中,不属于软件需求规格说明书的作用的是A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D. 便于开发人员进行需求分析(23)栈通常采用的两种存储结构是A. 线性存储结构和链表存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构(24)若运行以下程序时,从键盘输入ADescriptor&lt;CR&gt;(&lt;CR&gt;表示回车),则下面程序的运行结果是#include &lt;stdio.h&gt; main(){char c; int v0=1,v1=0,v2=0; do{switch(c=getchar()){case ′a′:case ′A′: case ′e′:case ′E′: case ′i′:case ′I′: case ′o′:case ′O′: case ′u′:case ′U′:v1+=1; default:v0+=1;v2+=1; } }while(c!=′\n′); printf ("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=13,v1=4,v2=12(25)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。

c语言试题7

c语言试题7

第七章结构型、共同型和枚举型一、单项选择题1.对以下结构定义:struct { int len; char *str ; } *p; 表达式(*p)->str++中的++加在(D)A. 指针str上B. 指针p上C. str所指的内容上D. 表达式语法有错2.存放100个学生的数据,包括学号,姓名,成绩。

在如下的定义中,不正确的是(B)。

A.struct student { int sno; char name[20]; float score } stu[100];B.struct student stu[100] { int sno; char name[20]; float score } ;C.struct { int sno; char name[20]; float score } stu[100];D.struct student { int sno; char name[20]; float score } ; struct student stu[100];3.设有定义语句struct { int x ; int y ;} d[2]={{1,3}, {2,7}};则printf (“%d\n”, d[0].y/d[0].x*d[1].x ); 的输出是(D)。

A.0 B.1 C.3 D.64.设有定义语句enum team {my, your = 4, his, her=his+10} ;则printf(“%d,%d,%d,%d\n”, my, your, his, her) ;的输出是(D)。

A.0,1,2,3 B.0,4,0,10 C.0,4,5,15 D.1,4,5,15 5.以下对枚举类型名的定义中正确的是(B)。

A.enum a={one, two, three}; B.enum a {a1, a2, a3} ;C.enum a={‘1’, ’2’, ’3’} ; D.enum a {“one”, ”two”, ”three”} ;6.若有如下定义,则printf (“%d\n”, sizeof (them)) ; 的输出是(C)。

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

本改错题共有1道,改错题源文件在考生目录中,请在******下一行将错误改正。

不得增行与减行,改正后使程序运行正确存盘即可。

改错题的源文件分为:modi1.c,第1题分值为:10分,给定程序的功能是:计算某足球队在联赛中的积分等决定名次的参数。

设已知某队在m场比赛(2≤m≤50)中各场的进球数和失球数(存入组长组xx),则可算出它的积分(胜一场得3分,平一场得1分,负一场得0分)、净胜球数n和总进球数与总失球数之比r。

例如:若输入“4”和31、11、20、12、12、12、12、12,则应输出...The total mark:8The net score:28The ration of win vs lost:1.60请改正程序中的错误,使它能计算出正确的结果。

注意不得增行或删行,也不得更改程序的结构!#include "conio.h"#include "stdio.h"struct winlost{ int win;int lost;};struct result{ int t;int n;float r;};void total(int m,struct winlost xx[],struct result * final){int i;final->t=0;final->n=0;final->r=0.0;for(i=0;i<m;i++){if(xx[i].win>xx[i].lost)/********found**********/final->t+=2;else/********found**********/if(xx[i].win=xx[i].lost)final->t+=1;final->n+=xx[i].win;final->r+=xx[i].lost;}i=final->n;final->n=i-final->r;final->r=i/final->r;}void main(void){int i,m;struct winlost aa[50];struct result last;printf("\nHow many simes of competetion close the team tale:");scanf("%d",&m);printf("\cPlease enter %d results of each competition",m);printf("(win lost):\n");for(i=0;i<m;i++)scanf("%d%d",&(aa[i].win),&(aa[i].lost));total(m,aa,&last);printf("\nThe result of each competition:");for(i=0;i<m;i++)printf("\n No.%2d:%2d(win:lost)",i+1,aa[i].win,aa[i].lost);printf("\n\nThe total mark:%2d",last.t);printf("\nThe net score:%2d",last.n);printf("\nThe ration of win vs lost:%5.2f",last.r);}请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。

其中Fibonacci数列F(n)的定义为F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)例如:t=1000时,函数值为987。

注意:部分源程序已给出。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

此题的源文件在考生目录下,文件名为: prog1.c#include <conio.h>#include <math.h>#include <stdio.h>int fun(int t){}main(){FILE *wf;int n,i;n=1000;printf("n=%d, f=%d\n",n, fun(n));/******************************/wf=fopen("out.dat","w");for(i=901;i<=1000;i++)fprintf(wf,"%d",fun(i));fclose(wf);/*****************************/}一、选择题答案1. 当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值你所选择的答案是:*,正确答案是:B ×2. 以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],}; main(){ p=aa;printf("%d\n",++(p->x));}A) 10B) 11C) 51D) 60你所选择的答案是:*,正确答案是:C ×3. 以下各选项企图说明一种新的类型名,其中正确的是A) typedef v1 int;B) typedef v2=int;C) typedefv1 int v3;D) typedef v4: int;你所选择的答案是:*,正确答案是:C ×4. 设有以下函数:f ( int a){ int b=0;static int c = 3;b++; c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){ int a = 2, i;for(i=0;i<3;i++) printf("%d\n",f(a));}A) 789B) 7911C) 71013D) 777你所选择的答案是:*,正确答案是:A×5. 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是A) i=*p;B) p*=*&j;C) i=&j;D) i=**p;你所选择的答案是:*,正确答案是:B ×6. 以下程序的输出结果是main(){ char x=040;printf("%d\n",x<<1);}A) 100B) 80C) 64D) 32你所选择的答案是:*,正确答案是:C ×7. 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A) fopen("A:\user\abc.txt","r")B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb")C) fopen("A:\\user\\abc.txt","w")你所选择的答案是:*,正确答案是:B ×8. 以下程序的输出的结果是int x=3;main(){void ncre();int i;for(i=1;i<x;i++) ncre();}void ncre(){static int x=1;x*=x+1;printf("%d",x);}A) 3 3B) 2 2C) 2 6D) 2 5你所选择的答案是:*,正确答案是:C ×9. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000B)6C) 5.500000D) 6.000000你所选择的答案是:*,正确答案是:D ×10. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A) scanf("%2d%2d%2d",&i,&j,&k);B) scanf("%d %d %d",&i,&j,&k);C) scanf("%d,%d,%d",&i,&j,&k);D) scanf("i=%d,j=%d,k=%d",&i,&j,&k);你所选择的答案是:*,正确答案是:C ×11. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6B) 0C) 2D) 1你所选择的答案是:*,正确答案是:D ×12. 有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345 &&n<3);此处do-while循环的结束条件是A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于3你所选择的答案是:*,正确答案是:D ×13. 有以下程序main(){ char s[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是()。

A) 赋初值的字符串有错B) 6,7C) 5,6D) 6,6你所选择的答案是:*,正确答案是:C ×14. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()。

相关文档
最新文档