文档介绍:该【2022年广东理工职业学院公共课《C语言》科目期末试卷B(有答案) 】是由【青山代下】上传分享,文档一共【16】页,该文档可以免费在线阅读,需要了解更多关于【2022年广东理工职业学院公共课《C语言》科目期末试卷B(有答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..2022年广东理工职业学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、C语言的源程序必须通过【】和【】后,才能被计算机执行。2、执行下面程序段后,k的值是_______。k=1;n=263;do{k*=n%10;n/=10;}while(n);3、下面程序段是找出整数的所有因子。请填空。scanf(,&x);i=1;for(;_______;){if(x%i==0)printf(,i);i++;}4、请读程序段:intx=1;printf(,~x);上面程序段的输出结果是_______。5、若x=0123,则表达式(5+(int)(x))&(~2)的值是_______。6、若有定义语句:inte=1,f=4,g=2;floatm=,n=,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*+m后k的值是_______。7、设有如下结构体说明:structST:..{inta;floatb;structST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。_______8、设有宏定义如下:#defineMIN(x,y)(x)>(y)?(x):(y)#(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。inta=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);9、puter。请填空。;for(i=0;_______;i++){_______;printf(,c[j]);}10、已有一维数组a,n为元素的个数,且各元素均有值;函数voidprocess(float*p,intn,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。(1)floatarr_add(float*arr,intn)计算数组元素值之和。(2)floatodd_add(float*p,intn)计算下标为奇数的元素之和。(3)floatarr_ave(float*p,intn)计算各元素的平均值。:..二、选择题11、下面4个选项中,是非法常量的选项是()。12、以下正确的叙述是()。,,C程序中允许赋值a=10,,无论是整数还是实数,,%是只能用于整数运算的运算符13、以下程序的运行结果是()。#include<>intmain(){intxl=0xabc,x2=0xdef;x2-=xl;printf(,x2);return0}..、以下针对scanf函数的叙述中,正确的是()。,如scanf(,);,没有输入项,也能进行正确输入,如scanf(,);:..,格式控制部分应规定小数点后的位数,如scanf(,&f);,必须指明变量的地址,如scanf(,&f);15、以下叙述不正确的是(),注释说明只能位于一条语句的后面16、以下对二维数组a的正确说明是()。[3][];(3,4);[][4];(3)(4);17、设有程序段:t=0;while(printf()){t++;if(t<3)break;}下面描述正确的是()。'0'、C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是(),、下面程序段的运行结果是(),*p=str;:..printf(,*(p+3));、若有定义:int(*p)[4];则标识符p()。,、以下程序的输出是()。#include<>intmain(){inta=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(,A.;return0;}:...-、下面程序的运行结果是()。#include<>intmain(){intnum=0;while(num<=2){num++;printf(,num);return0;}A)1B)1,2C)1,2,3D)1,2,3,423、下面程序段的运行结果是()。intn=0;while(n++<=2);printf(,n);、以下程序的运行结果是()。#include<>voidfun(intx){if(x/2>0)fun(x/2-2);printf(,x);}intmain():..{fun(20);printf();return(0);}-.-1282025、定义如下变量和数组:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(k=0;k<3;k++)printf(,a[k][2-k]);A)357B)369C)159D)147三、读程序填空26、以下程序的运行结果是_______。#include<>intmain(){intm=177;return0;}27、以下程序的输出结果是_______。#include<>intmain():..{inta=252;printf(,a,a);printf(,a,a);return0;}28、以下程序是应用递归算法求某数a的平方根,请填空。求平方根的迭代公式如下:x1=1?(x0+)2?0#include<>#include<>doublemysqrt(doublea,doublexo){doublex1,y;x1=_______;if(fabs(x1-x0)>)y=mysqrt(_______);elsey=x1;returny;intmain(){doublex;printf();scanf(,);printf(,x,mysqrt(x,));return(0);:..}29、以下程序的运行结果是_______,其算法是_______。#include<>voidsort(inta[]);intmain(){inta[5]={9,6,8,3,-1},i;sort(a);for(i=0;i<=4;i++)printf(,a[i]);return(0);}voidsort(inta[]){inti,j,t,p;for(j=0;j<4;j++){p=j;for(i=j;i<=4;i++)if(a[i]<a[p])p=i;t=a[p];a[p]=a[j];a[j]=t;}}30、下面程序的功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符,则输出该字符在数组中第一次出现的位置(下标值);否则输出一1。请填空。#include<>:..intmain{charc='a',t[50];intn,k,j;gets(t);n=_______;for(k=0;k<n;k++)if(_______){j=k;break;}elsej=-1;printf(,j);return0;}31、以下程序可用来实现电路学中状态图的功能:若开关为开(用1表示)的状态,则应该将现有的状态取非(0→1、1→0);若开关为关的状态,则现有的状态保持不变(状态值由用户输入)。请填空。#include<>intmain(){intflag,state;printf();scanf(,&flag);printf();scanf(,&state);if(flag==1):..printf(,state);return0;}32、下面程序的运行结果是_______。#include<>intmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar('#’);for(j=1;j<=4-i;j++)putchar('*');putchar(n’);}return0;}33、下面程序的运行结果是_______。#include<>#defineN5intfun(char*s,chara,intn){intj;*s=a;j=n;:..*s<s[j])j--;returnj;intmain(){charc[N+1];inti;for(i=1;i<=N;i++)*(c+i)='A'+i+1;printf(,fun(c,'E',N));return(0);}四、编程题34、已有变量定义和函数调用语句intx=57;isprime(x);函数isprime()用来判断一个整型数a是否为素数;若是素数,则函数返回1,否则返回0。请编写isprime函数。intisprime(inta){}:..a和b,若a2+b2>100,则输出a2+b2百位以上数字,否则直接输出a2+b2的和:..一、填空题、【1】编译【2】连接2、363、i<=x4、-25、0130或88或0x586、、structST8、【1】3【2】289、【1】i<=7【2】j=i+810、【1】process(a,n,arr_add);【2】process(,odd_add);【3】process(a,n,arr_ave);二、选择题11、A12、D13、D14、D15、D:..C17、B18、B19、B20、C21、C22、C23、C24、D25、A三、读程序填空26、26127、a=374囗囗a=0374a=fc囗囗a=0xfc(注:答案中的囗代表空格)28、【1】(x0+a/x0)/【2】a,x129、【1】-13689【2】选择法排序30、【1】strlen(t)【2】t[k]==c31、!state32、#######*:..##**#***33、3四、编程题34、intisprime(inta){inti;for(i=2;i<sqrt((double)a);i++)if(a%i==0)return0;return1;}35、#include<>intmain(){inta,b,x,y;scanf(,&a,&.b);x=a*a+b*b;if(x>100){y=x/100;printf(,y);}elseprintf(,a+b);return0}