版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、选择题蓝色加粗为正确选项在C语言中,合法的字符常量是.A.'字B. "A"C. "ABC"D. 'x41'在C语言中,用户能使用的合法标识符是.A.姓名B. _xyz C. 5i D. for在C语言中,不合法的实型常量是.A. -0.123 B. -.123 C. -1.23e-1 D. -123e-3.0C语言的以下运算符中,优先级最高的运算符是.A. +B. +=C. |D. !=设有说明语句int k,i=5,j=10;,那么表达式 k=+i*j-的值是.A. 50 B. 60 C. 45 D. 55设有说明语句int
2、 i,j;,那么表达式i>=j|i<j 的值是.A.视i、j的具体值而定B. FALSEC. TRUED. 1'A'的ASCII码的十进制值为 65, '0'的ASCII码的十进制值为 48,那么以下程序运行结果 是.mainchar ch1,ch2;ch1='A'+'5'-'3'ch2='A'+'6'-'3'printf"%d,%cn",ch1,ch2;A. 67,D B. C,D C. C,68 D. 67,68设有语句int x=
3、2,y=3;,那么表达式 x=y=3的值是.A. 0B. 1C. 2D. 3以下程序的运行结果是.main unsigned a = 0x3ef, b;b = a << 2;printf"%x,%xn", a, b;A. 3ef,fb B. 3ef,fbcC. fbc,3efD. fbc,fbc以下语句中,符合 C语言语法的赋值语句是.A.a=7+b+c=a+7;B. a=7+b+=a+7;C. a=7+b,b+,a+7;D. a=7=b,c=a+7;可编辑范本为表布xRyR z,须用的C语百表达式为().A. (x>=y)&&(y>
4、=z)B. (x>=y)AND(y>=x)C. x>=y>=zD. (x>=y)&(y>=z)设int a,b;,用语句scanf('%d%d",&b);输入a、b值时,不能作为输入数据分隔符的是().A.空格 B. ,C.回车D. Tab以下程序运行时,假设从键盘输入5,那么输出结果是().main() int a;scanf("%d",&a);if(a+>5) printf("%dn", a);else printf("%dn",a-);A. 7B
5、. 4C. 5D. 6以下程序的运行结果是().main() int a, b, c;a = b = c = 1;if ( a+ | +b ) c+;printf("%d, %d, %dn", a, b, c);A. 2, 1,2B. 1,2, 1C. 2, 2, 2D. 2, 2, 1以下程序的运行结果是().main() int i=3,j=2,k;k=i+j;int k=8;if(i=3) printf("%2d",k);else printf("%2d",j);printf("%2d%2dn",i,k);A
6、. 8 3 5B. 8 3 8C. 3 8 3D. 5 8 3有以下程序:main() int c;while(c=getchar()!= 'n') switch(c-'2') case 0:case 1 : putchar(c+4);case 2 : putchar(c+4); break;case 3 : putchar(c+3);default: putchar(c+2); break;printf("n");当输入:247回车,程序的输出结果是().A. 689B.6689C.66778D.66887以下程序的运行结果是().main
7、() int a=1,b=0;switch(a)case 1:switch(b)case 0: printf("0000n");case 1: printf("1111n");break;case 2:printf("2222n");break;A. 00001111B. 000011112222C. 00002222D. 11112222以下程序的运行结果是().void main() int a=1;switch(a)case 1: printf("aaaan");case 2: printf("bb
8、bbn"); break; default: printf("ccccn");) )A.aaaaB. aaaa bbbb ccccC. aaaa bbbbD. aaaa cccc以下程序运行后,a的值是().main() int a,b;for(a=1,b=1;a<=100;a+)if(b>=20) break;if(b%3=1) b+=3; continue; b-=5;A. 101B. 100以下程序段的运行结果是(main() int i,j;i=10;j=20;for(;j>=0;j-=20)if(i=j) printf("Go
9、od!");else printf("Not good!");A. Good!Good!C. Good!以下程序的运行结果是(main() int a,b,c,n=13;C. 8D. 7)°B. Not good!D . Good! Not good!)°printf(" A B Cn"); for(a=1;a<=n;a+) for(b=1;b<=n;b+) for(c=b;c<=n;c+) if(a*a=b*b+c*c) printf("%3d%3d%3dn",a,b,c);) A.
10、A B C 5 3 4 10 6 8 13 5 12 B. A B C 3 5 4 6 10 8 5 13 12C. A B C4 5 3 8 10 6 12 13 5D. A B C 5 4 3 10 8 6 13 12 5以下程序段的运行结果是().int x=3;doprintf("%3d, ", x-=2 );while(!(-x);A. 1B. 30C.死循环D. 1,-2设E为表达式,以下与 dowhile(E);不等价的语句是().A. do while(!E=0);B. do while(E>0|E<0);C. do while(E=0);D.
11、do while(E!=0);以下程序的运行结果是().main() int i,s;i=0;s=1;dos/=s+1;i+;while(i<=10);printf("%2d%2dn",i,s);)A. 10 2B. 11 2C. 10 0D. 11 0以下程序段中,非死循环的是().A. int i=100;while(1) i=i%100+1;if(i>=100) break;)B. int k=0;do+k;while(k>=0);C. int s=10;while(+s%2+s%2) s+;D. for(;)循环语句循环体中执行continue语句
12、,其作用是().A.立即终止程序运行B.继续执行continue语句之后的循环体各语句C.结束本次循环D.结束本次循环,跳出循环以下do.while循环的循环次数是().int i=5 ;doprintf("%dn",i-);i-;while(i!=0)A. 0 B. 2C. 5D.死循环设已定义char s口=""NameAddress023n",那么字符串中字符个数是().A. 19B. 15C. 18D. 14已定义char x8; int i;,为了给该数组赋值,以下语句正确的选项是().A. x8="Turbo C"
13、;B. x="Turbo C"C. x="Turbo C"D. for(i=0;i<7;i+) xi=getchar();设int a口4=0,0;,那么以下描述错误的选项是().A.数组a的每个元素的值为0B.二维数组a的第一维大小为1C.数组a有4个元素D.只有元素a00和a01的值为0,其余元素的值不确定以下程序段的运行结果是().main() int i=4,j;j=i;pic(i+2*j-2,'*');putchar('n');for(j-=2;j>=0;j-) pic(3-j,'')
14、;pic(i+2*j, '*');putchar('n');pic(int len,char C. int k;for(k=1;k<=len;k+) putchar(C.;A.* main() char a5= "ABCD","1234","abcd","5678","EFGH"int i;A. A1afor(i=0;i<3;i+) printf("%s",ai);B. ABCD1234abcdC. ABCD. ABCD1234ab
15、cd5678EFGH以下程序的运行结果是.main() int array44;int i,j;for(i=0;i<4;i+)for(j=0;j<4;j+) arrayij=i+j;for(i=0;i<4;i+)for(j=0;j<4;j+)if(i=j|i+j=3) array0j=0;for(j=0;j<4;j+) printf("%2d",array0j); printf("n");A. 2 0 0 5B. 1 0 0 4C. 0 1 2 0D. 0 4 5 0设有以下语句,那么是对a数组元素的不正确引用,其中 0Wi
16、<10.int a1=0,1,2,3,4,5,6,7,8,9, *p=a;A. ap-aC. piB. *(&ai)D. *(*(a+i)假设有以下程序:main char ch="I am student! ", *p;p=ch;printf("%xn",p);printf("%xn",p+9);其中第一个printf()运行结果是ffd6,那么第二个printf()运行结果是().A. ffdf B. ffe8 C. ffd6D. ffcf以下程序的运行结果是().main() int i;char aa3='
17、;a','b','c','d','e','f;char (*p)3=aa;for(i=0;i<2;i+)if(i=0) aaii+=*(p+);printf("%cn",*p);A. aB. bC. cD. d设有以下语句:char str1="string",str28,*str3,*str4="string"那么()是对库函数strcpy的不正确调用.此函数用来复制字符串.A. strcpy(str3,"HELLO3");B.
18、 strcpy(str2,"HELLO2");C. strcpy(str1,"HELLO1");D. strcpy(str4,"HELLO4");假设有以下定义和语句,且 0Wi<4, 0<j<3,那么不能访问a数组中的元素的是().int i,(*p)3;int a3=123,4,5,6,7,8,9,10,11,12;p = a;A. *(*(a+i)+j)B. pijC. (*(p+i)jD. pi+j以下关于指针概念的表达中,错误的选项是().A. 一个指针变量只能指向同一类型的变量B. 一个变量的地址称为该变
19、量的指针C.两个同类型的指针变量可以作加算D.任何指针变量都可以与空指针NULL进行比拟以下程序的运行结果是().fun3(int x) static int a=3;a+=x; return a; main() int k=2,m=1,n;n=fun3(k);n=fun3(m);printf("%dn",n);A. 3B. 4C. 6D. 9以下程序运行后,输出的结果是().func(int a) static int m=0;m += a; return( m ); main() int k=4, p; p=func(k); printf("%d,"
20、, p); p=func(k); printf("%dn", p);A. 4,4 B. 0,4 C. 4,8 D. 8,8以下程序的运行结果是().age(n)int n; int c;if(n=1) c=10;elseif(n%2=0) c=age(n-1)+2;else c=age(n-1)+3;return(c);)main() printf("%dn",age(5); A. 18 B. 20 C. 10 D. 21以下程序的运行结果是().void ast (int x,int y,int *cp,int *dp) *cp=x+y; *dp=x-
21、y;main() int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%dn",c,d);D. c、d未赋值,编译出错D. 20,10A. 7,1B. 1,7C. 7,-1以下程序的输出结果是().swap(int *p, int *q) int t;t=*p; *p=*q; *q=t;main() int a=10,b=20;swap(&a, &b);printf("%d,%dn", a, b);A. 10,10 B. 20,20 C. 10,20以下程序的运行结果是().main() v
22、oid change_p();int *p,a尸1,4,7,10;p=&a1;change_p(p);printf("%dn",*p);void change_p(int *pi) *pi +=2;pi +=2;*pi +=2;)A. 7B. 8C. 5D. 6以下程序段的运行结果是().enum weekday aa,bb=2,cc,dd,ee week=ee;printf("%dn",week);A. eeB. 5C. 2D. 4以下对枚举类型进行定义,不正确的选项是().A. enum b1,2, 3;B. enum aA, B, C;C.
23、 enum cD=3, E, F;D. enum dX=0, Y=5, Z=9;在C程序中,设一表达式含有int、long、unsigned和char类型的常数和变量,那么表达式的最后运算结果是().A. intB. charC. unsignedD . long假设定义如下结构,那么能打印出字母 M的语句是().struct personchar name9;int age;struct person class10="Wu",20, "Liu",23, "Ma",21, "zhang,22;A. printf("
24、;%cn",);C. printf("%cn",0);以下程序的运行结果是().main() union u_type int i;double x;float f;struct str_type char str10;union u_type u10;printf("%dn", sizeof(struct str_type);B. printf("%cn",1);D. printf("%cn",1);D. 120A.
25、 81B. 90 C. 150以下程序的输出结果是().main() printf( "%dn", fac(5);)fac(int n) int s;if(n=1) return 1;else return n*fac(n-1);)A. 120 B. 60C. 6D. 1以下程序的运行结果是().main() char ch7 = "12xy89"int i, s=0;for(i=0; chi; i+)if(chi>='0' && chi<='9') s=10*s + chi - '0&
26、#39;printf("%dn",s);)A. 12B. xyC. 12xy89 D. 1289以下程序运行后,输出的结果是().fun(char *w) char t, *s1, *s2;for(s1=w, s2=w+strlen(s1)-1; s1<s2; s1+, s2-)t = *s1;*s1 = *s2;*s2 = t;)main() char *p="12345;fun(p);puts(p);)A.12345B.54321 C.15115D.51551以下程序中的循环执行了()次.#define N 2#define M N+1#define N
27、UM (M+1)*M/2main() int i,n=0;for(i=0;i<NUM;i+) n+;printf("%dn",n);)A. 5B. 6C. 8D. 9以下程序的输出结果是().#define SUM(y) 1+ymain() int x=2;printf("%dn", SUM(5)*x );)A. 10B.11C.12D. 15以下程序的运行结果是().#define M(x,y) x*ymain() int a=3,b=2,s1,s2,f12();s1=M(a+b,a-b);s2=M(a-b,a+b);printf("%
28、d,%d,%d,%dn",s1,s2,f12(a+b,a-b),f12(a-b,a+b);)f12(int x,int y) return(x*y); A. 7,-1,5,5B. 5,5,7,-1C. 5,5,5,5D. 7,-1,7,-1假设有以下定义:struct link int data;struct link *next; *p;并已建立如以下图所示的链表结构:data next指针p指向该单向链表的第一个结点,要输出链表所有结点的数据成员data,以下循环语句正确的选项是().A) for(;p!=NULL;p+) printf("%d,",p->
29、;data);B) for(;!p;p=p->next) printf("%d,",(*p).data);C) while(p) printf("%d,",(*p).data);p=p->next;D) while(p!=NUll) printf("%d,",p->data);p+;假设有以下定义:struct link int data;struct link *next; a,b,c, *head, *p;其中,指针head指向变量a, p指向变量c, a.next指向变量b,链表结构如以下图所示:head 事6
30、"39NULLdata next18那么能够把c插入到a和b之间并形成新链表的程序段是().A) a.next = c; c.next = b;B) head.next = p; p.next = head.next;C) head->next = &c; p->next = head->next;D) (*head).next = p; (*p).next = &b;假设有以下定义:struct link int data;struct link *next;*head,*p;并已建立如以下图所示的链表结构p那么能保存链表其它结点,而删除 p所指向
31、结点的程序段是().A) head->next = p->next; free(p);B) head->next = p; p->next = head->next; free(p);C) free(p); head->next = p; p->next = head->next;D) free(p); head->next = p->next;以下程序的功能是().#include <stdio.h>main() FILE *fp;long int n;fp=fopen("wj.txt","
32、rb");fseek(fp,0,SEEK_END.;n=ftell(fp);fclose(fp);printf("%ld",n);)A.计算文件wj.txt的起始地址C.计算文件wj.txt的长度B.计算文件wj.txt的终止地址D.将文件指针定位到文件末尾标准函数fgets(s, n,掷J功能是(A.从文件f中读取长度为n的字符串存入指针s所指的内存B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C.从文件f中读取n个字符串存入指针s所指的内存D.从文件f中读取长度为n-1的字符串存入指针s所指的内存以下程序的可执行文件名是file.exeomai
33、n(argc,argv)int argc;char *argv口; int i;for(i=2;i<argc;i+)printf("%s%c",argvi,(i<argc-1)?' ':''n');)现在DOS命令行车入:file My C Language and Programming回车,其输出结果是().A. C Language and ProgrammingB. My C Language and ProgrammingC. MyCLanguageandProgrammingD. file My C Langu
34、age and Programming二、填空题1、以下程序实现计算10的阶乘.#include <stdio.h>viod main() 10ng p;int i;p= 1;for(i=1; i<=10 ; i+)p=p*i;printf(" %d!=%ldn , 10, p);2、以下程序实现将输入的一行字符中的大写字母转变为相应的小写字母,小写字母那么转变 为相应的大写字母,其余字符不变.以回车结束字符输入.#inc1ude "stdio.h"void main() char s80;int i;printf("p1ease in
35、put a string:");for(i=0; (si=getchar()!= 'n ' ; i+);si= '0'for(i=0;si!='0'i+) if(si>='a'&&si<='z')si=si+( 'A' - 'a');else if ( si>='A'&&si<='Z')si=si+ ( 'a' - 'A');puts(s);3、以下程序实
36、现从键盘输入一个3行5列的二维整型数组表示的3X5的矩阵,并计算第2行元素之和.#inc1ude <stdio.h>void main() int i, j ;int a35, sum;sum= 0 ;printf("Input 15 numbers:");for(i=0; i<3 ; i+)for(j=0; j<5; j+)scanf("%d, &aij);for(j=0;j<5;j+)sum +=a1j;printf("%dn",sum);)4、以下程序实现输入一个4行4列的整型数组,求其元素的最大值和
37、最小值.#include"stdio.h"#define ROW 4#define COL 4void main() int a44 , i, j, max, min;printf("input the 16 integers:");for(i=0;i<ROW;i+)for(j=0; j<COL ; j+) scanf("%d",&aij);max=min= a00;for(i=0;i<ROW;i+)for(j=0;j<COL;j+)if( aij>max ) max=aij;if(aij<
38、min) min=aij;printf("max=%dn", max);printf("min=%dn", min);)5、以下程序实现计算 5个学生的总成绩和平均成绩,其中5个学生的成绩存储在一个结构体数组中.#include <stdio.h>struct stu char name10;float score;void main() struct stu st5="Mary",76,"John",85,"Tom,81.5, "Luis",76,"Michel
39、,90.5;int i=1;float aver, total=0.0 ;while( i<=5 ) total=total+ sti-1.score ;i+;aver= total/5 ;printf("ntotal=%.2f,aver=%.2fn", total, aver);6、以下程序实现输入假设干整数,统计其中大于零和小于零的个数.以零结束输入.#include <stdio.h>void main() int n, a, b;a=b= 0;scanf("%d",&n);while( n!=0 ) if(n>0)
40、a+;else b+;scanf("%d", &n );printf("Number of N>0 or N<0 integers are: %d, %dn", a, b);7、以下函数sort用冒泡法实现对数组a中的m个元素进行从大到小(降序)排序.void sort(int a, int m) int i, j, t, temp;for( i=0; i< m-1 ; i+ ) temp = 0;for( j=0; j < m-i-1; j+) if (aj>aj+1) temp = 1;t = aj; aj =a
41、j+1 ; aj+1 = t;if(!temp) break ;8、以下函数sort用选择法实现对数组a中的m个元素进行从小到大(升序)排序.void sort(int a, int m) int i, j, k, t;for( i = 0; i < m-1; i+ ) k=i ;for( j=i+1; j< m ; j+)if( aj < ak ) k=j ;if( k != i ) t = ak; ak= ai; ai = t ;三、改错题1、以下程序实现统计输入字符串中英文字母、数字和其它字符的个数.以回车结束输入.#include <stdio.h>voi
42、d main() char ch;int letter; number; other;letter= number= other= 0;/ =/while(ch=getchar()!=''0')/''n ' if (ch>='a'&&ch<='z') letter+;(ch>= ' a' &&ch<= ' z' |ch>= ' A' &&ch<= ' Z ')else
43、if (ch>=0 && ch<=9) number+;/ (ch>= ' 0' &&ch<= ' 9')else other+;printf("letter=%d,number=%d,other=%dn", &letter, &number, &other );/ letter, number, other2、以下程序实现从键盘输入三角形的三边长,求其面积,假设三个边长不能构成三角形,那么 提示.#include <stdio.h>#include
44、<math.h>void main() int a,b,c,s,area;scanf("%f%f%f", a, b, c;&a, &b, &cif( a+b>c | b+c>a | a+c>b )/ &&&&s*(s-a)*(s-b)*(s-c) s = (a+b+c)/2;area = sqrt(s(s-a)(s-b)(s-c);printf("area is %.2fn",area);else printf( ' Invalid input.n ')
45、;3、以下程序实现求解百元买百鸡问题:设一只公鸡2元、一只母鸡1元、一只小鸡0.5元,那么一百元买一百只鸡,其中公鸡、母鸡、小鸡数可分别为多少有多少种方案#include <stdio.h>void fun()/ int int hen, cock, chicken, n=0;for(cock=0; cock<=50; cock+=1)for(hen=0; hen<=100; hen+1) / hen+ chicken=2*(100-hen-2*cock);if(cock+hen+chicken = 100)/ = n+;printf("hen: %d, co
46、ck: %d, chicken: %dn", hen, cock, chicken);return n;void main() printf("方案有:%d 种n", fun);/ fun()4、以下程序实现将输入的字符串转换成密文,方法是:字母'a'转换成1'、'b'转换成5、'c'转换成3'、'd'转换成9'、'e'转换成'7',其他字符不变.#include <stdio.h>#include <string.h>v
47、oid main() char s64, t64;char tab5,2='a','1','b','5','c','3','d','9','e',7'/ 52int i, j=0;printf("Input an original string: "); scanf("%s", s);strcpy(t,s);while(tj) for(i=0; i <= 5; i+)/ <if tj=tabi
48、0/ (tj=tabi0) tj=tabi1; continue; / break)j+;)printf("The target string: % cn",t);/ s)5、以下程序利用指针实现将输入的字符串拷贝给另一字符数组.#include <stdio.h>void main() char s1128, s2128;char * p1=s1,*p2;scanf("%s , &s1);/ s1p2 = NULL;/ s2while(*p2) *p2+ = *p1+;/ *p1printf(" %cn", s1);/ %ss2)6、以下程序实现将从键盘依次输入的M个整数逆序输出.#include <stdio.h>#define M 8void main() int aM, i;printf(In put 8 numbers:");for(i=1; i<=M; i+)/ i=0; i<M;scanf("%d", ai);/ &aiprintf("Inverse order is:&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山西晋城陵川县司法协理员招聘10人笔试参考题库及答案解析
- 2026年宿州市第一人民医院公开招聘紧缺卫生专业技术人员71名笔试模拟试题及答案解析
- 2026安徽淮北矿工总医院春季校园招聘56人笔试参考题库及答案解析
- 2026广西崇左天等县林业局编外工作人员招聘1人考试备考试题及答案解析
- 2026南平光泽县第九届“人才·校园行”紧缺急需学科教师招聘6人笔试参考题库及答案解析
- 2026年节气养生套餐设计与三伏贴三九灸营销实战方案
- 2026浙江杭州市人才集团有限公司公开招聘7人笔试参考题库及答案解析
- 2026四川宜宾职业技术学院第一次博士研究生招聘15人考试备考题库及答案解析
- 2026年芜湖市第一人民医院第一次公开招聘劳务派遣工作人员16名考试备考题库及答案解析
- 2026铁岭市昌图县14家单位补充招聘公益性岗位工作人员23人考试备考试题及答案解析
- 2025年儿童心理学研究生入学考试试题及答案
- 低空无人机遥感技术及应用
- 火电厂消防安全培训
- MDT多学科协作护理
- 2024-2025学年七年级下册期中数学试卷(考试范围:第1~3章)-北师大版(含详解)
- 2025年五类人员考试题及答案
- 第二单元 焕发青春活力 大单元教学设计-2024-2025学年统编版道德与法治七年级下册
- 第二单元、20以内的退位减法(单元复习课件)一年级数学下册同步高效课堂(人教版·2024)
- 提升酒店服务意识培训
- 2025年甘肃瓮福化工有限责任公司招聘笔试参考题库含答案解析
- 知名茶楼服务员培训课程
评论
0/150
提交评论