超星尔雅程序设计基础 — c语言-2024欧洲杯竞猜官方平台 工学答案 2904
1.1c语言的介绍和组成 1、【单选题】一个c程序的执行是从 a、本程序的main函数开始,到main函数结束 b、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 c、本程序的main函数开始,到本程序文件的最后一个函数结束 d、本程序文件的第一个函数开始,到本程序main函数结束 2、【填空题】c源程序的基本单位是(_) 3、【填空题】一个算法必须在执行有限个操作步骤后终止指的是算法的(_)特征 4、【填空题】一个c源程序中至少应包括一个(_) 5、【填空题】结构化程序设计是(_)应遵循的方法和原则1.2整型 1、【单选题】在c语言中,数字029是一个 a、八进制数 b、十六进制数 c、十进制数 d、非法数 2、【单选题】下列常数中不能作为c的常量的是 a、0xa5 b、2.5e-2 c、3e2 d、0582 3、【单选题】下面四个选项中,均是正确的八进制数或十六进制数的选项是 a、-10,0x8f,-011 b、0abc,-017,0xc c、0010,-0x11,0xf1 d、0a12,-0x123,-0xa 4、【单选题】已知int i=5;执行语句 i = i;i的值是 a、10 b、11 c、12 d、a,b,c答案都不对 5、【单选题】设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是 a、0至255 b、0至65535 c、-32768至32767 d、-256至2551.3浮点数 1、【单选题】假定x和y为double型,则表达式x=2,y=x 3/2的值是 a、3.500000 b、3 c、2.000000 d、3.000000 2、【单选题】在c语言中,5种基本数据类型的存储空间长度的排列顺序为 a、char b、char=int c、char d、char=int=long int<=float 3、【填空题】设int a;float f;double i;则表达式10 a i*f值的数据类型是(_) 4、【填空题】定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是(_) 5、【填空题】若定义了int x;则将x强制转化成双精度类型应该写成(_)1.4字符型 1、【单选题】以下不合法的字符常量是 a、‘\018’ b、‘\''’ c、‘\\’ d、‘a’ 2、【单选题】对于char cx=“\039”语句,下列说法正确的是 a、不合法 b、cx的ascii值是33 c、cx的值为四个字符 d、cx的值为三个字符 3、【单选题】下面正确的字符常量是 a、“c” b、‘\\’’ c、‘w’ d、‘\abc’ 4、【单选题】下面四个选项中,均是合法转义字符的选项是 a、‘\’’,‘\\’,‘\n’ b、‘\’,‘\017’,‘\”’ c、‘\018’,‘\f’,‘xab’ d、‘\\0’,‘\101’,‘x1f’ 5、【单选题】c语言中字符型数据在内存中是以下哪种形式存储的 a、原码 b、补码 c、反码 d、ascii码1.7赋值 1、【单选题】设n=3,则n 的结果是 a、2 b、3 c、4 d、5 2、【单选题】表达式7/3的值是 a、2.33 b、2.333 c、2.3333 d、2 3、【单选题】下列表达式的值为0的是 a、3%5 b、3/5.0 c、3/5 d、3<5 4、【单选题】以下非法的赋值语句是 a、n=(i=2, i); b、j ; c、(a b) ; d、x=j>0; 5、【单选题】设a=6,b=4,则表达式b*=a 3的值为 a、3 b、18 c、27 d、361.9格式化输入和输出函数 1、【填空题】格式输出函数语法格式为(_) 2、【填空题】下列程序 main() { char a=69; printf(“%c\n”,a); } 输出结果是(_) 3、【填空题】格式输入函数语法格式为(_) 4、【填空题】按十六进制整数格式输出变量a语句为(_) 5、【填空题】printf格式控制符%f功能是(_)1.11字符输入和输出函数 1、【填空题】getchar()函数功能是(_) 2、【填空题】用来输入单个字符的格式控制符是(_) 3、【填空题】将字符常量’b’输出的语句为(_) 4、【填空题】main() { char ch1; ch1=getchar(); prinft(“ch1=%c”,ch1); }当程序运行时,从键盘输入a,则程序运行结果为(_) 5、【填空题】将一个字符从标准的输出设备(通常是显示终端)上输出的语句格式为(_)1.13选择结构-if语句的使用 1、【单选题】表达式:10!=9的值是 a、true b、非0值 c、0 d、1 2、【单选题】设整型变量a,b的值分别为1,0,那么a==b的结果是 a、0 b、1 c、2 d、都不对 3、【单选题】下边程序段 int a=2,b=3,c=4; if(c=a b) printf(ok!); else printf(no!); 输出结果是 a、ok! b、no! c、程序错误 d、以上都不对 4、【单选题】下列属于分支结构的是 a、while b、if…else c、for d、都不对 5、【单选题】设x为非0,则下列描述错误的是 a、!(x= =0) b、x!=0 c、3*x!=0 d、x>01.15选择结构-switch语句的使用 1、【单选题】下列属于分支结构的是 a、while b、switch c、for d、都不对 2、【单选题】switch中每一个case的常量表达式的值 a、必须互不相同 b、可以相同 c、只能是整数 d、可以是任意数值 3、【单选题】switch语句是实现哪种结构的语句 a、顺序结构 b、选择结构 c、循环结构 d、以上结构都可以 4、【单选题】下列说法错误的是 a、各个case的出现次序不影响执行结果 b、每一个case的常量表达式的值必须互不相同,否则出现矛盾现象 c、switch语句中的“表达式”的值可以是任何类型的数值 d、case后面的“常量表达式”的结果值的类型必须是整数或字符 5、【填空题】下列程序段 main() { int a; scanf(“%d”,&a); switch(a) { case 1:printf(“monday\n”);break; case 2:printf(“tuesday\n”);break; case 3:printf(“wednesday\n”);break; case 4:printf(“thursday\n”);break; case 5:printf(“friday\n”);break; case 6:printf(“saturday\n”);break; case 7:printf(“sunday\n”);break; default:printf("error!\n"); 通过键盘输入3后输出的结果是(_)1.17while循环 1、【单选题】设有程序段:int k=10; while(k=0) k=k-1; 则下面叙述中正确的是 a、while循环执行10次 b、该循环是无限循环 c、循环语句一次也不执行 d、循环语句执行一次 2、【单选题】若有定义int i=1;则执行完循环while(i <5)以后i的值是() a、4 b、5 c、3 d、0 3、【单选题】下面程序段的运行结果是() 1=1;b=2;c=2; while(a a、1,2,0 b、2,1,0 c、1,2,1 d、2,1,1 4、【单选题】执行完以下程序段后哪种说法正确() x=-1; while(!x){x=x*x;}此时x的值为 a、x=0 b、x=-1 c、1 d、死循环 5、【单选题】语句while(!x)中的表达式!x等价于 a、x==1 b、x!=0 c、x!=1 d、x==01.18do-while语句 1、【单选题】若有如下语句: int x=3; do{printf("%dn",x-=2;} while((!--x));则上面程序段: a、输出的是1 b、输出的是1和-2 c、输出的是3和0 d、是死循环 2、【单选题】下面程序是计算正整数2345的各位数字的和,请选择正确的选项填空 main() {int n,sum=0; n=2345; do{ sum=sum ( ); n=n/10; }while(n); printf("sum=%d\n",sum); } a、n/1000 b、n/10 c、n d、n/10 3、【单选题】下面描述中正确的是() a、由于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 b、在do-while 循环体中,循环体至少执行一次 c、在do-while循环体中,循环体至少无条件执行一次 d、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 4、【单选题】执行完以下程序段后哪种说法正确() x=-1; do {x=x*x;}while(!x);此时x的值为 a、1 b、-1 c、0 d、死循环 5、【单选题】下面程序的运行结果是() main() {int y=10; do{y--;}while(--y); printf("%d\n",y--);} a、-1 b、1 c、8 d、01.19for 语句循环结构 1.21break和continue使用 1.22循环嵌套 1.23一维数组 1.24二维数组 1.26字符数组 1.27函数定义 1.28函数的调用 1.29函数参数 1.31数组做函数参数 1.32函数嵌套调用 1.33变量指针和指针变量 1.36函数指针 1.37数组指针