




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言编程新思路(山东理工大学)智慧树知到章节测试答案第一章测试1、关于一个C语言程序执行的起点和终点,以下选项正确的是()。A、mainmainB、第一个最后一个C、main任意D、main最后一个正确答案:A2、C语句的程序一行写不下时,可以()。A、用逗号换行B、用分号换行C、用任意空格换行D、用回车换行正确答案:D3、以下叙述不正确的是()。A、C程序中,语句之间必须用分号分隔B、C程序中,多行语句可以写在一行上C、C程序中,可以不必包含主函数D、一个C程序,可以由多个函数组成正确答案:C4、C语言规定,在一个源程序中,main函数的位置()。A、必须在最开始B、必须在系统调用库函数的后面C、可以任意D、必须在最后正确答案:C5、以下叙述正确的是()。A、在C程序中,注释说明只能位于一条语句的后面。B、C程序的每行中只能写一个语句C、C语言本身没有输入输出语句D、在对C语言进行编译的过程中,不能发现注释中的错误正确答案:D6、函数的主体部分需要用一对()括起来。A、{}B、[]C、()D、正确答案:A7、以下叙述错误的是()。A、一个C程序只有在编译、连接成.exe程序之后才能执行B、C程序编译后生成.obj文件C、C程序的每一条语句都必须用分号结束D、只有一个分号的语句不是合法的C语句正确答案:D8、计算机能够直接识别和执行的计算机语言()。A、汇编语言B、机器语言C、C语言D、高级语言9、以下叙述错误的是()。A、对于计算机而言,程序是指完成某一特定任务的一组指令序列B、一个C程序编译成功后在连接时发现错误,需要编辑修改,然后不必重新编译和连接即可直接运行。C、机器语言和汇编语言都是低级语言D、C语言是一种函数型语言,每个C语言程序都是由若干个函数组成正确答案:BA、’和’B、C、/*和*/D、{和}正确答案:C11、用C语言编写的源程序,必须翻译成用二进制指令表示的目标程序,才能被计算机识别,这个过程称为()。A、编辑B、编译C、汇编D、解释正确答案:B12、关于C语言的特点,以下叙述错误的是()。A、C语言一共只有32个关键字,9种控制语句,程序书写自由B、C语言共有34种运算符,表达式类型多样化C、C语言不能直接对硬件进行操作D、C语言程序可以方便的在不同的计算机间和各种操作系统中实现程序的移植正确答案:C13、C语言程序的基本构成单位是()。A、语句B、表达式C、函数正确答案:C14、能够在编译过程中被检查出来,并给出提示信息的是()。A、语法错误B、逻辑错误D、注释错误正确答案:A15、以下叙述错误的是()。A、计算机语言大致可以分为三大类:机器语言、汇编语言和高级语言B、高级语言比低级语言更贴近人类使用的语言,易于理解和使用C、C语言是一种通用的、过程式编程语言,具有高效、灵活、可移植等优点D、C语言属于汇编语言16、C语言源程序文件的后缀名是()。A、.objB、.exeC、.cD、.vbp正确答案:C17、C语言编译程序是()。A、C程序的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序D、厂家提供的应用软件正确答案:C18、以下叙述错误的是()。A、C语言的注释有两种类型:单行注释和多行注释B、C程序的单行注释语句以“//”开始C、C语言的注释语句不影响编译结果D、C语言程序中只要出现在“/*”和“*/”之间的就一定是注释内容正确答案:D19、C语言源程序文件经过编译后的目标文件后缀名是()。A、.exeB、.objC、.cD、.vbp正确答案:BA、.exeC、.cD、.bak正确答案:A第二章测试1、下面4个选项中,均是不合法的用户标识符的选项的是()。A、DatesumdoB、charpao_123C、b+aiffloatD、_abcTempInt正确答案:C2、下面4个选项中均是合法常量的选项是()。A、05812e−33.6'd'B、−12.80x9843.56e2'\n'C、"w"0340xa3'\m'D、4.450765.33E1.5"how"正确答案:BA、在C语言中,%运算符的优先级高于/运算符B、在C语言中,area和AREA是两个不同的变量名C、在C语言中,可以使用二进制整数D、若a和b类型相同,在计算了赋值表达式a=b后,a得到b的值,而b的值不变4、在C语言中,要求运算对象必须是整型的运算符是()。A、/B、*C、+D、%正确答案:DA、1B、2C、3D、说明不合法,ch的值不确定正确答案:A6、若有定义:inta=7;floatx=2.5,y=4.5;则表达式x+a%3*(x+y)/2的值是()。A、2.500000B、6.000000C、5.500000D、0.000000正确答案:B7、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。A、intB、floatC、doubleD、不确定正确答案:C8、以下叙述正确的是()。A、在C语言中,一行只能写一条语句C、在C语言中,无论是整数还是实数,都能被准确无误地表示D、在C语言中,%是只能用于整数运算的运算符正确答案:D9、在C语言中,int型数据在内存中的存储形式是()。A、原码B、反码C、补码D、ASCII码正确答案:C10、下列选项中可作为C语言的合法整数的是()。A、a2C、03845D、0x4b5正确答案:D11、字符型数据在内存中是以()形式存储的。A、ASCII码B、补码C、原码D、BCD码正确答案:A12、下列叙述正确的是()。A、C语言不允许混合类型数据间进行运算B、在C语言中,'b'和"b"的含义是不同的C、C语言中,任何类型的数据都可进行%运算D、在C语言中,整型常量有二进制、八进制、十六进制和十进制4种表示形式正确答案:B13、#includeintmain(){charch;inti;i=65;ch="a";printf("%c,%c,%d,%d\n",i,ch,i,ch);return0;}这段程序的运行结果是()。A、A,a,65,97B、a,A,97,65C、a,A,65,97D、编译错误,无法运行正确答案:D14、设整型变量a=2,则执行下列语句后,实型变量b的值不是0.5的是()。A、b=1.0/aB、b=1/(float)aD、b=(float)(1/a)15、下列叙述正确的是()。A、不同类型的变量所占内存单元是相同的B、C语言中,变量可以不经定义而直接使用C、赋值表达式的左边只能是变量名D、字符串常量"China!"在存储时,系统为其分配6个字节的空间16、#includeintmain(){inta=b=5,c;c=a+b;printf("c=%d\n",c);}这段程序的运行结果是()。A、0B、10C、不确定D、编译错误,无法运行正确答案:DA、必须是下划线B、可以是这三种字符中的任一种C、必须为字母或者下划线D、必须是字母正确答案:C18、如果在一个C语言表达式中有多个运算符,则运算时应该()。A、只考虑优先级B、先考虑优先级,然后考虑结合性C、只考虑结合性正确答案:B19、已知字符A的ASCII值是65,若定义inti;则执行语句i=’A’+3;后,正确的叙述是()。A、i的值是字符A的ASCII值加上3,即68B、语句不合法C、语句可以执行,但没有计算结果D、i的值是字符E正确答案:A20、在C语言中常量’\n’和常量”ABC”在内存中占用的字节数分别是()。A、13B、14C、23正确答案:B第三章测试1、若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是()。A、a=b=c=d=100;B、d=d-1;C、a*b;D、d=(c=30)+b;正确答案:C2、以下选项中不是C语句的是()。A、{inti;printf("%d\n",i);}B、;C、a=5,c=10正确答案:C3、以下程序的输出结果是()。#include"stdio.h"intmain(){intx=100,y=30;A、0B、1C、3D、不确定的值正确答案:C4、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是()。A、read(a,b,c);B、get("%d%d%d",a,b,c);C、scanf("%d%d%d",a,b,c);D、scanf("%d%d%d",&a,&b,&c);正确答案:D5、以下程序段的输出结果是()#includeintmain(void){inti;floatx;doubley;y=x=i=10/4;printf("y=%.2f,x=%.2f,i=%d\n",y,x,i);return(0);}A、y=2.00,x=2.50,i=2B、y=2.50,x=2.50,i=2C、y=2.50,x=2.00,i=2D、y=2.00,x=2.00,i=2正确答案:D6、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是()。A、a=a+b,b=a-b,a=a-b;B、t=a,a=b,b=t;C、a=t;t=b;b=a;D、t=b;b=a;a=t;正确答案:C7、以下程序的输出结果是()。#includeintmain(void){inta=4,b=8;printf("a=%%d,b=%%d\n",a,b);/*注意转义字符的作用*/return(0);}A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d正确答案:D8、已知字母A的ASCII值为十进制数65,下面程序的输出是()。#include"stdio.h"intmain(void){charch1,ch2;ch1='A'+'5'−'3';ch2='A'+'6'−'3';printf("%d,%c\n",ch1,ch2);return(0);}A、67,DB、67,CC、B,CD、C,D正确答案:A9、若从终端输入以下数据,要给变量c赋以340.25,则正确的输入语句是()。A、scanf(%f”,&c)B、scanf(%.2f”,&c);C、scanf(%6.2f”,&c);D、scanf(%4f”,&c);正确答案:A10、以下程序运行时输入:25,执行后输出的结果是()。#includeintmain(void){charch1,ch2;intn1;ch1=getchar();ch2=getchar();n1=ch2-ch1;printf("%d",n1);return(0);}A、3B、-3C、25正确答案:A11、有以下程序#includeintmain(void){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);return(0);}程序运行后,若从键盘输入(从第一列开始)abcA、cdefB、abefC、abcd正确答案:D12、以下程序段的输出结果是()。#includeintmain(void){charc1='a',c2='c';printf("%d,%c\n",c2-c1,c2-c1+'B');return(0);}A、2,bB、3,BD、类型不一致,出错正确答案:C13、若变量已正确定义为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋值10.0,b赋值20.0,c赋值30.0,不正确的输入形式是()。B、10,20,30C、10.020.030.0D、10,2030正确答案:B14、以下程序的输出结果是()。#includeintmain(void){inta,b;a=10;b=20;printf("a=%d\nb=%d\n",a,b);return(0);}A、10,20B、a=10,b=20C、a=10b=20D、1020正确答案:C15、若变量已正确说明,要求用以下语句给a赋值2.0,给c1赋值字符#,给b赋值4.0,则不正确的输入形式是()。scanf(“%f%c%f”,&a,&c1,&b);A、2.0#4.0’B、2.0#4.0‘C、2#416、以下说法错误的是()。A、赋值表达式的功能是将赋值运算符右侧的值赋给其左侧的变量。B、若floatx=5;可以对变量x进行%操作,如x%2的值是1。C、复合语句是用一对花括号括起来的若干条语句,从语法作用上讲一条复合语句视为一条语句。D、长整型(longint)变量,使用scanf函数输入时,需使用%ld格式符。正确答案:B17、结构化程序设计由三种基本结构组成,下面哪个选项不属于三种基本结构()。A、顺序C、循环D、回溯正确答案:Dmain(void){inti;//2scanf("%d",i);//3printf("i=%d\n",i);//4return(0);}A、1B、2C、3D、4正确答案:C19、设inta=10,b;,执行下列语句后,b的值不是2的是()。A、b=a/4B、b=a-8D、b=a%4正确答案:C20、putchar()函数可以向终端输出一个()。A、整型B、实数C、字符串D、字符正确答案:D第四章测试1、表示关系x≤y≤z的c语言表达式为()。A、(xb)&&(n=c>d)后,m和n的值分别为()。A、2,2B、0,2C、0,0D、2.0正确答案:B3、在以下一组运算符中,优先级最高的运算符是()。A、b)x=x+1;C、if(a-b)x=x+1;D、if(x)x=x+1;正确答案:B5、下列表达式中,()不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。A、x%2==0B、!x%2!=0C、(x/2*2-x)==0D、!(x%2)正确答案:B6、关于以下程序,正确的说法是()。#includeintmain(void){intx=0,y=0,z=0;if(x=y+z)printf("***");elseprintf("###");return(0);}A、有语法错误,不能通过编译B、输出:***C、可以编译,但不能通过连接,所以不能运行D、输出:###正确答案:D7、下列程序的输出结果是()。#includeintmain(void){floatx=4,y=1;if(xintmain(void){inta,b,s;scanf("%d%d",&a,&b);s=a;if(aintmain(void){intx=1,a=0,b=0;switch(x){case0:b=b+1;case1:a=a+1;case2:a=a+1;b=b+1;}printf("a=%d,b=%d\n",a,b);return(0);}A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2正确答案:A10、若有定义:inta=3,b=2,c=1;并有表达式:①a%b、②a>b>c、③b&&c+1、④c+=1,则表达式值相等的是()。A、①和②B、②和③C、①和③D、③和④正确答案:C11、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是()。if(a0)b=1;elseb=-1;b=b+1;A、1B、2C、-1D、0正确答案:B14、假定所有变量均已正确定义,下面程序段执行后的x的值是()。a=b=0;x=35;if(!a)x=x-1;if(b)x=3;elsex=4;A、34B、4C、35D、3正确答案:Bif((a+1)>0||(b>0))c=c+1;printf("%d,%d,%d",a,b,c);return(0);}A、0,0,0B、1,1,1C、1,0,1D、0,0,1正确答案:D17、若x=0,则执行下面程序段后,屏幕上会显示()。if(x=0)printf("***");elseprintf("&&&");A、******B、&&&C、***&&&D、&&&***正确答案:B18、若有inta=10,b=20,c=30;,执行下面程序段后a、b、c的值分别是()。if(a>b)c=a;a=b;b=c;A、10、20、30B、20、10、10C、20、30、30D、20、10、30正确答案:C19、下列程序的输出结果是()。#includeintmain(void){intk=8;switch(k){case7:k+=1;case8:k+=1;case9:k+=1;break;default:k+=1;}printf("%d\n",k);return(0);}A、8B、9C、10D、11正确答案:C20、若有floatx;inta,b;,下面四条switch语句中正确的有()条。switch(x){casex=1.0:printf(“Y”);casex=2.0:printf(“N”);}switch(a){casea=1:printf(“Y”);casea=2:printf(“N”);}switch(b){caseb==1:printf(“Y”);caseb==2:printf(“N”);}switch(x){case1.0:printf(“Y”);case2.0:printf(“N”);}A、1B、2C、3D、4正确答案:A1、以下程序段中while循环执行的次数是()。intk=0;while(k=1)k++;A、无限次B、有语法错不能执行C、一次也不执行D、执行一次正确答案:A2、以下描述中正确的是()。A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B、do-while循环中由do开始,用while结束,在while(表达式)后面不能写分号C、在do-while循环中,循环体至少执行一次D、do-while循环中,根据情况可以省略while正确答案:C3、在C语言中有关for循环,以下正确的说法是()。A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判断表达式C、在for循环不能break跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来正确答案:D4、以下下面程序的运行结果是()。#includeintmain(){inta=1,b=2,c=2,t;while(aintmain(){inti,j;for(i=0,j=10;iintmain(){inta,max=0;scanf("%d",&a);while(){if(maxintmain(){intm=0,n=0;charc;while(()!='\n'){if(c>='A'&&c='a'&&cintmain(){intk=0,m=0,i,j;for(i=0;iintmain(){charc='A';intk=0;do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k%=2;continue;case'E':k*=10;break;default:k/=3;}k++;}while(cintmain(){inti;for(i=1;iintmain(){inta,b,t;scanf("%d%d",&a,&b);while(【1】){if(a>b){t=a;a=b;b=t;}printf("%d,%d",a,b);scahf("%d%d",&a,&b);人}A、!a=bB、a!=bC、a==bD、a=b正确答案:B19、对for(表达式1;;表达式3)可理解为()。A、for(表达式1;0;表达式3)B、for(表达式1;1;表达式3)D、for(表达式1;表达式3;表达式3)正确答案:B20、若i为整型变量,则以下循环执行次数是()。for(i=2;i==0;)printf("%d",i--);A、无限次B、0次C、1次D、2次正确答案:B第六章测试1、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式正确答案:C2、以下程序的输出结果是()。intmain(){inta[5]={1,2,3};printf(“%d\n”,a[3]);}A、0B、1C、3正确答案:A(i=0,k=0;iintmain(){inta[]={2,4,6,8,10},y=0,i,*p;p=a;for(i=0;iintmain(){inta=1,b=2,c=3,*p1,*p2,*p3;p1=&a;p2=&b;p3=&c;*p3=*p1;*p1=*p2;*p2=*p3;printf("a=%d,b=%d,c=%d\n",a,b,c);}A、a=1,b=2,c=3B、a=2,b=1,c=3C、a=2,b=1,c=1D、a=3,b=2,c=1正确答案:B13、以下程序的输出结果是()。#includeintmain(){intk=2,m=4,n=6;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf("%d\n",n);return0;}A、4B、6C、8D、10正确答案:C14、以下程序的输出结果是()。#includeintmain(){int**k,*a,b=100;a=&b;k=&a;printf("%d\n",**k);return0;}A、编译出错B、100C、a的地址D、b的地址正确答案:B15、对于基类型相同的两个指针变量之间,不能进行的运算时()。A、intmain(){inta[5]={1,2,3,4,5},*p,**pp;p=a;pp=&p;printf("%d",*(p+3));printf("%d",**pp);return0;}A、41B、31C、44D、34正确答案:A20、若有inta[10],*p;,则下列语句中正确的是()。A、for(p=a;a0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}printf("%d\n",strlen(p[0]));}程序运行后的输出结果是()。A、6B、4C、5正确答案:A6、下列选项正确的语句组是()。A、chars[8];s={"China"};B、char*s;s={"China"};C、chars[8];s="China";D、char*s;s="China";正确答案:DA、'a''b'C、abcD、abcd正确答案:BA、gets(a,b);B、scanf("%s%s",a,b);C、scanf("%s%s",&a,&b);D、gets("a");gets("b");正确答案:B9、下面程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,b);printf("%c",a[5]);A、空格B、cC、e10、下面程序段的输出结果是()。#includeintmain(){charstr[]="Ilikeswimming!",*p=str;p=p+7;printf("%s",p);}A、程序有错误B、Ilikeswimming!C、swimming!正确答案:C11、下面哪个选项不能将"hello"字符串存入字符数组str中()。A、charstr[]="hello";B、charstr[30];strcpy(str,"hello");C、charstr[30];str="hello";D、charstr[30],*ps=str;strcpy(ps,"hello");正确答案:C12、有以下定义,不能表示字符'C'的表达式是()。charstr[]="ABCDEFG",*p=str;A、*(p+2)B、str[2]C、*(str+2)D、*p+2正确答案:D13、程序段charc[]="abcdefg";printf("%s",c+4);的运行结果是()。A、abcdB、efgC、abcdefgD、defg正确答案:B14、有如下定义,不能给数组a输入字符串的是()。chara[20],*p=a;A、gets(p)C、gets(&a[0])D、gets(a)正确答案:B15、下面说法正确的是()。A、若定义chars[]="well";chart[]={'w','e','l','l'};,则数组s与数组t中内容相同。B、当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。C、函数strcpy(str1,str2);的功能是将str2中字符串复制到str1中。D、定义chara[30],b[]="China";后,可执行a=b;将数组b中的字符串赋值给数组a。正确答案:C16、接受用户输入含有空格的字符串时,应使用()。A、getchar()B、gets()D、printf()正确答案:BA、可以对字符数组进行整体输入、输出。B、字符串可以存储在字符数组中。C、不能对字符数组存储的字符串进行更改。D、不能使用赋值运算符“=”,直接对字符数组名进行赋值。正确答案:C18、执行以下程序段后,输出结果是()。charstr[20]="door",t;inti,j;i=0;j=strlen(str)-1;t=str[i];str[i]=str[j];str[j]=t;puts(str);A、doorB、doodC、roodD、roor正确答案:C19、若有如下定义chara[30],b[30],则以下正确的输入语句是()A、gets(a,b);B、gets(a);gets(b);D、scanf("%s%s"&a,&b);20、执行以下程序段后,输出结果是()。chars[20]="Good",t[]="Moring!";strcat(s,t);puts(s);A、GoodMoring!B、Moring!C、GoodD、Moring!Good正确答案:A第九章测试1、在c语言中以下不正确的说法是()。A、实参可以是常量、变量、或表达式 B、形参可以是常量、变量或表达式C、实参可以为任意类型D、形参应与其对应的实参类型一致正确答案:B2、以下程序有语法性错误,有关错误原因的正确说法是()。 #includeintmain(void) A、语句voidprt_char();有错,它是函数调用语句不能用void说明B、变量名不能使用大写字母C、函数说明和函数调用语句之间有矛盾D、函数名不能使用下划线正确答案:C3、下述函数定义形式正确的是()。A、intf(intx;inty)B、intf(intx,inty)C、intf(intx,y)D、intf(x,y:int)正确答案:B4、以下所列的各函数首部中,正确的是()。A、voidplay(inta,b)C、voidplay(inta,intb)D、Subplay(aasinteger,basinteger)正确答案:CA、函数调用可以作为独立的语句存在B、函数调用可以作为一个函数的实参C、函数调用可以出现在表达式中D、函数调用可以作为一个函数的形参正确答案:D6、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定正确答案:B7、有以下程序:#includevoidfun(inta,intb,intc){a=11;b=22;c=33;}intmain(void){intx=10,y=20,z=30;fun(x,y,z);printf(“%d,%d,%d\n”,x,y,z);return0;}该程序输出结果是()。A、30,20,10B、10,20,30C、11,22,33正确答案:B8、关于函数参数,说法正确的是()。A、实参与其对应的形参各自占用独立的内存单元C、只有当实参和形参同名时才占用同一个内存单元D、形参是虚拟的,不占用内存单元正确答案:A9、一个函数的返回值由()确定。A、return语句中的表达式B、调用函数的类型C、系统默认的类型D、被调用函数的类型正确答案:D10、下列程序的输出结果是()。fun(inta,intb,intc){c=a+b;}intmain(void){intc;fun(2,3,c);printf(“%d\n”,c);return0;}A、2B、3C、5D、不定正确答案:D11、有以下程序:#includeintfun(intx){printf(“x=%d\n”,++x);}intmain(){fun(12+5);return0;}程序的输出结果是()。A、x=12B、x=13C、x=17D、x=18正确答案:D12、有如下程序:#includeinti=1;intmain(){inti=i;printf("%d\n",i);return0;}程序的输出结果是()。A、1B、0C、iD、不确定正确答案:D13、有如下程序:#includeintf(intx){returnx+3;}intmain(void){inta=1;while(f(a)fun(inta){autointb=0;staticintc=3;b=b+1;c=c+1;return(a+b+c);}intmain(void){inta=2,i;for(i=0;ivoidfun(intx,inty){intt;if(x>y){t=x;x=y;y=t;}}intmain(void){inta=4,b=7,c=5;fun(a,b);fun(a,c);fun(b,c);printf(“%d,%d,%d\n”,a,b,c);return0;}它的输出结果是()。A、4,5,7B、4,7,5C、7,5,4D、7,4,5正确答案:B19、有如下程序:#includef(inta){intb=0;staticintc=3;a=c++;b++;return(a);}intmain(void){inta=2,i,k;for(i=0;ivoidsub(intx,inty,int*z){*z=y-x;}intmain(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);return0;}A、5,2,3B、-5,-12,-7C、-5,-12,7D、5,-2,-7正确答案:B5、下列程序的输出结果是()。#includevoidprtv(int*x){printf("%d\n",++*x);}intmain(){inta=25;prtv(&a);return0;}A、23B、24C、25D、26正确答案:D6、下列程序的输出结果是()。#includevoidfun(int*a,int*b){intw;*a=*a+*a;w=*a;*a=*b;*b=w;}intmain(){intx=2,y=3,*px=&x,*py=&y;;fun(px,py);printf("%d,%d\n",x,y);return0;}A、4,3B、2,3C、3,4D、3,2正确答案:C7、以下程序运行时,若输入5103,则输出结果是()。#includevoidswap(int*p1,int*p2)scanf("%d%d%d",&a,&b,&c);if(a>b)swap(&a,&b);if(a>c)swap(&a,&c);if(b>c)swap(&b,&c);printf("%d,%d,%d\n",a,b,c);return0;}A、5,10,3B、10,5,3C、3,5,10D、3,10,5正确答案:C8、以下程序运行时,若输入5,则输出结果是()。#includeintfac(intn){staticintk=1;k=k*n;returnk;}intmain(){intm,i,f;scanf("%d",&m);for(i=1;iintfun(inta){intb;if(a==0||a==1)return3;b=a*a-fun(a-2);returnb;}intmain(){intx,y;x=fun(3);y=fun(4);printf("%d,%d\n",x,y);return0;}A、3,4B、9,16C、6,16D、6,15正确答案:D10、下列程序的输出结果是()。#includeintfun(int(*p)[3]){inti,j,n;n=p[0][0];for(i=0;in)n=p[i][j];returnn;}intmain(){inta[2][3]={11,32,13,44,5,6},m;m=fun(a);printf("%d\n",m);return0;}A、11B、44C、6D、3211、下列程序的运行结果是()。#includevoidfun(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}intmain(){inta,b,c,d;a=4;b=3;fun(a,b,&c,&d);printf("%d,%d\n",c,d);return0;}A、4,3B、3,4C、7,1D、1,7正确答案:C12、下列程序的运行结果是()。#includevoidop(int(*p)[3]){inti,j;for(i=0;iintfun(intn){if(n==1)return1;elsereturnn+fun(n-1);}intmain(){intm;scanf("%d",&m);m=fun(m);printf("%d\n",m);}A、6C、9D、15正确答案:D14、以下程序运行时,若输入ab012kd99pk8,则程序的输出结果是()。#includevoidfun(chars[])fun(x/10);}elseprintf("%d",x);return;}intmain(void){intz=123456;fun(z);return0;}则程序的输出结果是()。A、1-2-3-4-5-6-B、1-2-3-4-5-6D、6-5-4-3-2-1正确答案:D第十一章测试1、以下叙述不正确的是()。A、预处理命令行必须以#号开始B、C程序在执行过程中对预处理命令行进行处理C、在程序中凡是以#号开始的语句都是预处理命令行D、以下宏定义是正确的:#defineIBM_PC正确答案:B2、在宏定义#definePI3.1415926中,用宏名PI代替一个()。B、单精度数C、双精度数D、字符串正确答案:D3、以下叙述正确的是()。A、在程序的一行上可以出现多个有效的预处理命令行B、使用带参数的宏时,参数的类型应与宏定义时一致D、宏名必须用大写字母表示正确答案:C4、以下在任何情况下计算平方数时,都不会引起二义性的宏定义是()。A、#definePOWER(x)x*xB、#definePOWER(x)(x)*(x)C、#definePOWER(x)(x*x)D、#definePOWER(x)((x)*(x))正确答案:DA、直接按系统设定的标准方式搜索目录B、现在源程序所在目录搜索,再按系统设定的标准方式搜索C、仅仅搜索源程序所在目录D、仅仅搜索当前目录正确答案:B6、有以下程序:#defineADD(x)x+x#include"stdio.h"intmain(void){intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf("sum=%d",sum);return0;}该程序的运行结果是()。A、sum=9C、sum=12D、sum=18正确答案:B7、若有如下宏定义:#defineX5#defineYX+1#defineZY*X/2则执行以下printf语句后,输出结果是()。inta;a=Y;printf("%d",Z);printf("%d",--a);A、76B、126D、75正确答案:D8、以下程序的运行结果是()。#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(“Y=%d”,Y)#include“stdio.h”intmain(void){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d)PRINT(t);return0;}A、Y=3C、Y=0D、存在语法错误正确答案:B9、以下程序的输出结果是()。#include#defineMUL(x,y)(x)*y#include“stdio.h”intmain(void){inta=3,b=4,c;c=MUL(a++,b++);printf("%d",c);return0;}A、12B、15C、20D、16正确答案:A10、用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是()。A、#definef(x)4*x*x+3*x+2B、#definef4*x*x+3*x+2C、#definef(a)(4*(a)*(a)+3*(a)+2)正确答案:C第十二章测试1、C语言规定结构体变量系统分配给它的存储空间是()。A、该结构体中最后一个成员所需的存储空间B、该结构体中所有成员所需存储空间的总和C、该结构体中第一个成员所需的存储空间D、该结构体中占用最大存储空间的成员所需的存储空间正确答案:B2、以下对结构体变量s中成员age的合法法引用是()。#includestructstudent{intage;intnum;}s,*p;p=&s;A、student.s.ageB、student.ageC、p->ageD、s->age正确答案:C3、有如下定义:structdate{inty;intm;intd;};structperson{charname[20];charsex;structdatebirthday;}a;对结构体变量a的出生年份进行赋值时,下面正确的赋值语句是()。A、y=1958B、birthday.y=1958C、a.birthday.y=1958D、a.y=1958正确答案:C4、设有以下说明语句structstu{inta;floatb;}stutype;则以下叙述不正确的是()。A、struct是结构体类型的关键字B、structstu是用户定义的结构体类型名C、stutype是用户定义的结构体类型名D、a和b都是结构体成员名正确答案:B5、以下结构体类型说明和变量定义中正确的是()。A、typedefstruct{intn;charc;}REC;RECx,y;B、structREC;{intn;charc;};RECx,y;C、typedefstructREC;{intn=0;charc=’A’;}x,y;D、struct{intn;charc;}RECx,y;正确答案:A6、下面程序的运行结果是()。structst{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i#includetypedefstruct{charname[9];charsex;floatscore[2];}stu;stuf(stua){stub={“zhao”,’m’,85.0,90.0};inti;strcpy(,);a.sex=b.sex;for(i=0;istructS{intn;int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内衣产品培训
- 企业培训方案
- 交通安全教育课件
- 工程进度节点责任协议
- 新品尝试中介合同
- 情绪管理演讲稿
- 家庭水电设施维保合同
- 台锯安全操作规程
- 家贫助学中介协议
- 冷链物流管理与租赁合同
- JKW三相无功补偿控制器说明书赛源电气技术
- 2021年无与伦比的班级凝聚力团结就是力量主题班课件
- 2023年03月河南大学人才人事部招考聘用劳务派遣人员笔试题库含答案解析
- CT技师大型设备上岗证考试真题
- 《界面设计》校考复习题库(汇总版)
- 基于项目式学习的信息技术教学设计与实施以数据处理与应用为例
- 试验室标准化上墙标牌
- 外科学 第14讲肝脏疾病(英文)
- 综合实践课《治理校园噪声》说课
- 八年级(下)英语人教版Unit4单元全套课件
- 品管圈PDCA循环在抢救车管理中的运用成品课件
评论
0/150
提交评论