1、 A)7 B)8 C)9 D)1016在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)。 A)由用户自己定义 B)均为2个字节 C)是任意的 D)有所用的机器的机器字长决定17 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为(C)。A)int B)float C)double D)不确定18 设int n3;则+n的结果是( C ),n的结果是(C) A)2 B)3 C)4 D)519语句(1,2,3,4)的结果是( D )。 A)1 B)2 C)3 D)420有如下程序,若要求a1、a2、c1、c2的值分别为10、20、A、B,
2、正确的数据输入是().main()int a1,a2;char c1,c2;scanf(%d%d,&a1,&a2);%c%cc1,&c2):A)1020ABB)10 20 ABC)10 20 ABCD)10 20AB21已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据是,正确的数据输入方式是(A)。(注:表示空格,表示回车)scanf(“%d%c%d%c”,&a2,&c2);A) 10A20B B) 10A20BC) 10 A20B D) 10A20B22阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为(D)。 int
3、 x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%dn”,x+y+z);A) x+y+z=48B) x+y+z=35C) x+z=35D) 不确定值23 设X,Y均为float变量,则以下不合法的赋值语句是(B)A) +x;B) y=(x%2)/10;C) x*=y+8;D) x=y=10;24 以下程序的执行结果是( )。#includeint sum,pad;sum=pad=5;pad=sum+;pad+;+pad;printf(%dn,pad);A) 7 B) 6 C)5 D)425有以下定义:int a; long b; double x,y
4、;则以下选项中正确的表达式是(B) A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x26以下选项中能表示合法常量的是( D )A)整数:1,200B)实数:1.5E2.0C )字符斜杠:D)字符串:00727表达式a+=a-=a=9的值是(D) A)9B)-9C)18D)028有以下程序(B)include main()int a=1,b=2;while(aint y=10;while(y-);printf(”y=dn”,y);程序执行后的输出结果是A)y=0B)y= -1C)y=1D)while构成无限循环30有以下程序(C)includestdio .hc
5、har s”rstuv;printf(”cn”,*s2);程序运行后的输出结果是A)tuvB)字符t的ASCII码值C)tD)出错31有以下程序(B)includestdio.hincludestring.hchar x”STRING”;x0=0;x10;x20;printf(”d dn”,sizeof(x),strlen(x);程序运行后的输出结果是A)6 1B)7 0C)6 3D)7 132有以下程序(D) f(int x);main()int n=1,m;m=f(f(f(n);printf(”%dn”,m); x)return x*2;程序运行后的输出结果是A)1B)2C)4D)833以
6、下程序段完全正确的是(C)A)int *p; scanf(%d,p);B)int *p; scanf(“%d”,p);C)int k, *p=&k;,p);D)int k, *p:; *p= &34下列定义数组的语句中,正确的是(B)A)int N=10;int xN; B)define N 10int xN;C)int x0.10; D)int x;35若要定义一个具有5个元素的整型数组,以下错误的定义语句是(D) a5=0;B)int b=0,0,0,0,0; c2+3;D)int i=5,di;36有以下程序void f(int *p); a51,2,3,4,5,*r=a;f(r);pr
7、intf(”dn”;*r);void f(int *p)p=p+3;printf(”d,”,*p);程序运行后的输出结果是(D)A)1,4B)4,4C)3,1D)4,137有以下程序(函数fun只对下标为偶数的元素进行操作# includestdiohvoid fun(int*a;int n)int i、j、k、t;for (i=0;in-1;i+=2) k=i; for(j=i;jak)k=j; t=ai;ai=ak;akt;int aa10=1,2,3,4,5,6,7,i;fun(aa,7);for(i=0;ichar a20=”ABCD0EFG0”,b”IJK”;strcat(a,b);
8、printf(”sn”,a);程序运行后的输出结果是(B)A)ABCDEOFGOIJKB)ABCDIJKC)IJKD)EFGIJK41有以下程序includestdioh fun(int x)if(x21)fun(x2);printf(”d”,x);fun(7);printf(”n”);程序运行后的输出结果是(D)A)1 3 7B)7 3 1C)7 3D)3 742有以下程序includestdiohint fun()static int x=1;x+=1;return x;int i;s=1;for(i=1;=5;i+)s+=fun();printf(”dn”,s);程序运行后的输出结果是(
9、B)A)11B)21C)6D)12043有以下程序inctudestdiohincludestdlibhint *a,*b,*c;a=b=c=(int*)malloc(sizeof(int);*a=1;*b=2,*c=3;a=b;printf(“d,d,dn”, *a,*b,*c);程序运行后的输出结果是 (A)A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,344有以下程序int s,t,A=10;double B=6;ssizeof(A);t=sizeof(B);printf(“d,dn”,s,t);在VC6平台上编译运行,程序运行后的输出结果是(C)A)2,4 B)4,4 C
10、)4,8 D)10,645若有以下语句typedef struct Sint g; char h;T;以下叙述中正确的是(B)A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量二、写出下列每个程序运行后的输出结果 1. #include50) break; if(i%2=0) s+=i; printf(i,s=%d, %dn,i,s); 2. #include char ch=* int i, n=5; while(1) for(i=0;n;i+) printf(%c,ch);n if(-n=0) break; 3. #includ
11、e=i & y=i);,p*x*y); 4. #include int a9=36,25,48,24,55,40,18,66,20; int i, b1, b2; a0=a1? (b1=a0, b2=a1):(b1=a1,b2=a0); for(i=2; i9; i+) if(aib1) b2=b1; b1=ai; else if(aib2) b2=ai;%d %dn,b1,b2); 5. #include int a=10, b=20;,a,b); int b=a+25; a*=4; 6. #include void SelectSort(int a, int n) int i,j,k,x;
12、i+) /进行n-1次选择和交换 k=i-1; for(j=i;j+) if(ajak) k=j; x=ai-1; ai-1=ak; ak=x; int i; int a6=20,15,32,47,36,28; SelectSort(a,6);6; i+) printf(%d ,ai); 7. #include void LE(int* a, int* b) int x=*a; *a=*b; *b=x; int x=15, y=26;,x,y); LE(&y); 8. #include #include struct Worker char name15; /姓名 int age; /年龄 f
13、loat pay; /工资 ; int Equal(struct Worker* r1, struct Worker* r2) if(strcmp(r1-name, r2-name)=0) return 1; else return 0; struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct Worker x=;4; i+) if(Equal(a+i,&x) break; if(i=4) printf(没有查找所需要的记录! else printf(%s %d %6.2fn,ai.name,ai.age
14、,ai.pay);9. # include void main() int a=0,b=2,c=3; switch(a) case 0: switch(b= =2) case 1: putchar(break; case 2:% case 1: switch(c)$ default:# 10. # include x=ai; ai=ak; int* LJ(int a, int n) int i,k=0;i+) if(aiak) k=i; return &ak; 4. int Output(struct IntNode *f) int sum=0; if(!f) return -9999; /用
15、返回特定值-9999表示空表 while(f) sum+=f-data; f=f-next; return sum; 假定struct IntNode的类型定义为: struct IntNode int data; /结点值域 struct IntNode* next; /结点指针域1. 求出从键盘上输入的n个整数之和并返回。2. 采用选择排序的方法对数组a中的n个整数按照从大到小的次序重新排列。3. 求出数组a中n个元素的最大值元素,返回该元素的地址4. 对于以表头指针为f的链表,求出并返回所有结点中data域的值之和。四 程序填空1. 下面程序的功能是:将一个数插入到一个有序数组(从小到大)中,使插入以后的数组仍然有序。采用的算法是:确定要插入数的位置,然后将比这个数大的数后移一个位置,在空出的位置上将该数插入。 int a11=1,3,6,7,9,12,14,18,19,20,x; int i,p;Input a data: for(i=0,p=10;10;i+) if(xai) ; break; for(i=9; ;i-) ai+1=ai; ;The array:11;%4d 2. 以下程序能统计一个英文句子(以 . 号结束)中最长单词的长度。int count(char *p) int word=0,max=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1