C语言填空
C语言选择填空
一.选择1. 表达式,0x13&0x17的值是(A)。
A、0x13B、0xecC、0x17D、0xf82. 以下标识符中,不能作为合法的C用户定义标识符的是(A)。
A、signedB、_ifC、toD、answer3. 以下所列的C语言常量中,错误的是(D)。
A、'\72'B、0xFFC、2LD、1.2e0.54. 以下程序段的输出结果是(A)。
(提示:大写字母A的ASCII码值是65。
)main(){ char ch1, ch2;ch1 = 'A' + '5' - '3';ch2 = 'A' + '5' - '3';printf("%d,%c\n", ch1,ch2);}A、67, CB、B,CC、不确定的值D、C,D5. 若有以下定义:char s='\092'; 则该语句(A)。
A、定义不合法,s的值不确定B、使s的值包含1个字符C、使s的值包含4个字符D、使s的值包含3个字符6. 以下不正确的if语句形式是(A)。
A、if(x!=y) scanf("%d",&x) else scanf("%d",&y);B、if(x<y) {x++;y++;}C、if(x>y&&x!=y);D、if(x==y) x+=y;7. 执行语句 for(i=1;i++<4;); 后变量 i 的值是(D)。
A、不定B、3C、4D、58.若有说明:int a[10];则对a数组元素的正确引用是(C)。
A、a(5)B、a[3,5]C、a[10-10]D、a[10]9. 若有说明: int a[3][4]={0};则下面正确的叙述是(A)。
A、数组a中每个元素均可得到初值0B、只有元素a[0][0]可得到初值0C、数组a中各元素都可得到初值,但其值不一定为0D、此说明语句不正确10. C语言中不可以嵌套的是(D)。
C语言程序填空题加答案
1、 下面一段程序执行后,变量s的值等于【 22 】. int a,s=0; for(a=10;a>0;a-=3)s+=a; 2、 下面一段程序的功能是计算1到100之间的整数之 和,并将结果保存到变量s中. int a=101,s=0; --a 或 a-- 或 a=a-1 while(【 】,a>0 )s=s+a; 3、 下面一段程序执行后,变量s的值等于【 10 】. int a=10,s=0; do{s=s+a,a++;}while(a<1); 4、 下面一段程序执行后,变量s的值等于【 11 】. int a,s=0; for(a=1;a<11;a++); s=s+a;
16、 若所用变量都已正确定义,以下程序段的输出结果 OK 】. 【 for(i=1;i<=5;i++); printf("OK\n"); 17、 设有以下程序段,执行程序后s的值是【 1 】. int x=0,s=0; while(!(x!=0)) s+=++x; printf("%d",s); 18、 设有以下程序段,执行程序后a的值是【 1 】. int x=0,a=0; while(!x!=0) a+=++x; printf("%d",a); break 19、 【 】语句强行结束循环,转向执行循 环语句的下一条语句.
17、 将以下语句用条件运算符改写为【max=a>b?a:b 】. if(a>b)max=a; else max=b; 18、 当a=3,b=2,c=1;时,执行以下程序段后,c的值为 【 2 】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 19、 当a=3,b=2,c=1;时,执行以下程序段后,b的值为 【 1 】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
c语言程序填空题
16功能:输入字符串,再输入一个字符,将字符串中与输入字符相
同的字符删除。
【1】a[i] != '\0'或a[i]或a[i]!=NULL【2】a[j]='\0'或a[j]=NULL或a[j]=0
【3】cc=getchar()或scanf("%c",&cc)【4】fun(a,cc)
12功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘
输入。
【1】str【2】str[i]!='\0'或str[i]!=NULL或str[i]!=0或str[i]
【3】str[k]=str[i]或*(str+k)=*(str+i)或str[k]=*(str+i)或*(str+k)=str[i]
39功能:百马百担问题:有100匹马,驮100担货,大马驮三担,中
马驮2担,两匹小马驮一担,求大、中、小马各多少匹?
【1】3【2】2【3】hm【4】hl
40功能:找出数组中最大值和此元素的下标,数组元素的值由键盘
输入。
【1】a + i或&a[i]【2】p-a或-a+p【3】>【4】*s
41功能:输出两个整数中大的那个数,两个整数由键盘输入。
24功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数
变成最前面的m个数
【1】number,n,m【2】array,n,m【3】array+n-1或array + n -1【4】p-1或p -1
25功能:用冒泡法对数组a进行由小到大的排序。
C语言填空题
1。
break语句通常用于switch语句和循环语句中。
2。
C 语言对数组下标的引用一般从0开始.3。
C 语言中,一个函数一般由两个部分组成,它们是和函数体.4.C标准库函数中,字符串的处理函数包含在string。
h头文件中,数学函数包含在math。
h头文件中。
5.C程序的运行需要经过编译和连接两步进行。
6.C程序中用/*……*/ 括起来的内容是程序的注释语句。
7。
C语言函数是由函数首部和函数体两部分组成。
其中,函数首部包括函数类型、函数名和函数参数.8.C语言提供的三种逻辑运算符是!,&& ,||。
9。
C语言源程序经过编译后,生成文件的后缀名是.obj。
10。
C语言源程序经过连接后,生成文件的后缀名是.exe。
11。
C语言中,关系表达式和逻辑表达式的值是0或1。
12。
C语言中的标识符只能由三种字符组成,他们是字母、数字和下划线。
13.C语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。
14。
C语言中函数返回值的类型是由函数定义时指定的类型决定的.15。
C源程序的基本单位是函数.16。
int a = 2,b = 3;表达式a > b ? a ++ :++ b的值为4。
17.int x=1,y=1,z=1;x+=y+=z;则表达式x<y?y:x的值为3.18。
当a=3,b=2,c=1时,表达式f=a>b>c的值是0。
19.定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为int (*p)[6]。
20.定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为int *p[4]。
21.赋值语句是由赋值表达式加上一个分号构成。
22。
构成数组的各个元素必须具有相同的数据类型。
23。
关系表达式x+y〉5的相反表达式为x+y〈=5。
24。
函数strlen("1234\0xy")的值为:4.25.函数的形参在未被调用前不分配空间,函数形参的要和实参相同.26.函数体用{开始,用}结束。
C语言考试填空题
C 语言考试填空题1.一个C 语言程序中至少应该包含一个【】函数。
答案:main 有且只有一个2.a 是整型变量,则执行表达式a=25/3%3后a 的值为【】答案:23.int m=5,y=2;则表达式y+=y-=m*=y 的值为。
【】答案:-164.结构化程序由【】、【】、【】三种基本结构组成.答案:顺序、选择、循环5.已知a=10,b=15,c=1,d=2,e=0,则表达式c==(b>e )的值为【】。
答案:16.C 语言中,二维数组在内存中的存放方式为按【】优先存放.答案:答案:行行7.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【】答案:18.C 源程序的基本单位是【】。
答案:源程序的基本单位是【】。
答案:函数函数9.设C 语言中,int 类型数据占2个字节,则long 类型数据占【】个字节,short 类型数据占【】个字节.答案:4,210.按内存排列顺序,数组char a[2]中的所有元素是a[1]和【】.答案:a[0]11.int x;x=-3+4*5-6,则x 的值为【】.答案:1112.执行以下程序段后,s 的值是【】int a[]={5,3,7,2,1,5,3,10},s=0,k;for(k=0;k<8;k+=2)s+=*(a+k);答案:1613.在C语言中的实型变量分为两种类型,它们是float型和【】型.答案:double14.若已知a=10,b=20,则表达式!a<b的值为【】。
答案:115.为条件表达式z=x>y?a:b释义:【】答案:当x>y时,z=a;【】答案:当否则z=b;16.若要调用函数fabs(),必须包含头文件【】答案:math.h17.请写出数学式a/bc的C语言表达式【】。
答案:(a/b)*c或(a*c)/b18.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【】.答案:019.条件“20<x<30或x<-100”的C语言表达式是【】。
C语言填空题
C语言填空题1、C 语言只有 32 个关键字和 9 种控制语句。
2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。
3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。
4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。
5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。
6、C 语言的标识符只能由字母、数字和下划线三种字符组成。
二、填空题:1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
3、设c='w',a=1,b=2,d=-5, 则表达式'x'+1>c, 'y'!=c+2, -a-5*b<=d+1,b==a=2的值分别为 1 、 0 、 1 、 1 。
4、设float x=2.5,y=4.7; int a=7;,表达式x+a%3*(int)(x+y)%2/4的值为 2.5 。
5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。
6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。
7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。
8、数学式a/(b*c)的 C 语言表达式 a/b/c 。
(1) C 语言中,数组的各元素必须具有相同的,元素的下标下限为,下标必须是正整数、0、或者。
但在程序执行过程中,不检查元素下标是否。
数据类型,0,符号常量,越界(2) C 语言中,数组在内存中占一片的存储区,由代表它的首地址。
c语言填空
1.有如下程序main(){ int a = 2,b =- 1,c = 2;if(a<b)if(b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是______。
答案 22.有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f\n",a,c,f,x);}程序运行后的输出结果是______答案 1 65 1.5 6.53.以下程序的输出结果是______。
#include <stdio.h>main(){ int i=0,a=0;while(i<20){ for(;;){ if((i%10)==0) break;else i--;}i+=11; a+=i;}printf("%d\n",a);}答案324.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是______。
答案x/y*z5.若有以下定义和语句:int a=5a++;此处表达式a++的值是____答案 66.C语言中用于结构化程序设计的三种基本结构是______。
答案顺序结构、选择结构、循环结构7.下列关于单目运算符++、--的叙述中正确的是______。
答案它们的运算对象可以是char型变量、int型变量和float型变量8. 设ch是char型变量,其值为A,且有下面的表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch上面表达式的值是______。
答案a9.以下程序的输出结果是____#include<stdio.h>main(){printf("%d\n",NULL);}答案010.以下程序的输出结果是______。
c语言填空题
填空1、C语言规定,必须用(main )作为主函数名。
2、(函数)是C程序的基本构成单位。
3、在C语言中,每个语句和数据定义是用(分号)结束。
4、一个C程序至少包含一个(主函数),即(main函数)。
5、一个函数有两部分组成,它们是(函数首部)和(函数体)。
6、C语言是通过(头文件)来进行输入与输出的。
7、在C语言中,程序运行期间,其值不能被改变的量叫(常量)。
8、在C语言中,标识符只能由(字母)、(数字)和(下划线)三种字符组成,且第一个字符必须是(字母)或(下划线)。
9、C语言中规定,在变量定义的同时也可以给变量赋初值,称为(初始化赋值)。
10、在ASCⅡ代码表中可以看到每一个小写字母比相应得大写字母的ASCⅡ代码大(32 )。
11、用C语言描述下列命题:a小于b或小于c。
(a<b||a<c )12、用C语言描述下列命题:a和b都大于c。
(a>c&&b>c )13、用C语言描述下列命题:a和b中有一个小于c。
(a<c||b<c )14、用C语言描述下列命题:a是奇数。
(a%2!=0 )15、用C语言描述下列命题:a能被3整除且不能被7整除。
(a%3==0&&a%7!=0 ))16、用C语言描述下列命题:a是闰年。
()if ( a% 4==0 || a%100==0)17、while语句的特点是(先判断后循环)。
18、do-while语句的特点是(先执行循环体一次,然后再判断循环体是否成立)。
19、break语句的作用是(使流程终止并跳出switch结构)。
20、continue语句的作用是(继续循环,但本次循环不执行continue后面的循环体语句))。
21、break语句只能用于(switch )语句和(转向)语句中。
22、C语言数组的下标总是从(0 )开始,不可以为负数;构成数组各个元素具有相同的(数据类型和有储类型)。
C语言填空题,复习题及答案
1.24L表示一个____类型的整数(从int、short、long选填)(1分)标准答案:long2.表达式(8+3)/(6+23)+27%4的值为____。
(1分)标准答案:33.若int a;char c;则a*c的数据类型为____(用英文填,如float 或int或double或char)。
(1分)标准答案:int4.已知:int num1=2,num2=3,num3;num3=7%num2*num1;则执行后num3的值是____。
(1分)标准答案:25.已知道无符号基本整型取数范围0--4294967295,现有程序段unsigned int a,b;a=65535;b=a+1;则程序运行后b的值为____。
(1分)标准答案:655366.设int a=2,则计算表达式a/=2的值为____。
(1分)标准答案:17.已知程序段:int a;a=97;printf("%c",a);则执行后输出的结果为____(注:已知字母a的ASCII 值为97)。
(1分)标准答案:a8.设unsigned number=1234;char c1;c1=number%10;则执行上述程序段后c1的值为____。
(1分)标准答案:49.0x568是用几进制表示的整数____(从十进制、八进制、十六进制选填)。
(1分)标准答案:十六进制10.C语言中,要获取变量的地址,应在变量名前加上____(不填中文)运算符。
(1分)标准答案:&11.循环语句for ( i=100 ; i ; i-=20 ) ; 的循环次数为次____(填阿拉伯数字)。
(1分)标准答案:512。
若指定将实数56.64按照指数形式输出,输出的结果为____(用大写的E,指数部分保留两位)。
(1分)标准答案:5.66E113.设int a=12,则计算表达式a*=(2+3)的值为____ 。
(1分)标准答案:6014.C语言中,字符指针是指向____(填英文关键字)型数据的指针变量。
C语言考试——填空题
C语言填空题第一套1. 率先向全球推出个人计算机的公司是。
答案:苹果公司2. 正式走向商业和工业领域的个人计算机是。
答案:IBM个人计算机3. 计算机在称为计算机的指令集控制下处理数据。
答案:程序4. 计算机的六个关键的逻辑单元是、、、、和。
(答案:输入单元、输出单元、内存单元、算术和逻辑单元(ALU)、中央处理单元(CPU)、二级存储单元)5. 是多道程序设计的特例,它可以使用户通过输入/输出设备或终端向计算机。
答案:分时6. 把高级语言程序翻译成机器语言的程序称为。
答案:编译器7. C作为操作系统的开发语言而被人们广为认识。
答案:UNIX8. C程序通常是用程序填入的。
答案:编辑器9. 程序是在翻译阶段开始之前自动执行的。
答案:预处理10. 两种最常用的预处理指令是和。
答案:文件包含、宏定义11. 为了生成可执行映象,程序把编译器的输出和各种库函数连接在一起。
答案:连接12. 程序把可执行映象从磁盘加载到内存中。
答案:加载13. C语言程序都是从函数开始执行。
答案:main14. 函数体用开始,用结束。
答案:左花括号、右花括号15. 语句都用结束。
答案:分号16. 标准库函数在屏幕上显示信息。
答案:printf17. 转义序烈\n表示符,它把光标定位在屏幕下一行的开始位置。
答案:新行18. 标准库函数用来读取来自键盘的各种类型的数据。
答案:scanf19. 在scanf函数的格式控制串中,转换说明符表示要输入一个整数。
在printf函数的格式控制串中,它表示要输出一个整数。
答案:% d20. 不论何时把某个值放置到某个存储单元中,该值都会覆盖掉该存储单元中原有的值。
这种读入过程称为读入。
答案:破坏性21. 从存储单元中读取值时,该存储单元中的值不变。
这种读取过程称为读出。
答案:非破坏性22. 语句用来作出决策。
答案:if23. 根据要执行的动作以及这些动作应该执行的顺序求解问题的过程称为。
答案:算法24. 指定语句在计算机程序中的执行顺序称为。
c语言程序填空题库及详解答案
c语言程序填空题库及详解答案在C语言的学习过程中,程序填空题是一种常见的练习方式,它可以帮助学生加深对C语言语法和逻辑的理解。
下面是一个C语言程序填空题库的示例,包括题目和相应的详解答案。
题目一:计算圆的面积```c#include <stdio.h>#define PI 3.14159int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = PI * radius * radius;printf("圆的面积是:%.2f\n", area);return 0;}```题目二:判断闰年```c#include <stdio.h>int main() {int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("%d 是闰年。
\n", year);} else {printf("%d 不是闰年。
\n", year);}return 0;}```题目三:求最大公约数```c#include <stdio.h>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("最大公约数是:%d\n", gcd(num1, num2)); return 0;}```题目四:字符串反转```c#include <stdio.h>#include <string.h>void reverse(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverse(str);printf("反转后的字符串是:%s\n", str);return 0;}```题目五:计算阶乘```c#include <stdio.h>int factorial(int n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}int main() {int num;printf("请输入一个正整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num));return 0;}```以上题目涵盖了C语言中的一些基础概念,如循环、条件判断、函数定义和数组操作。
C语言填空
1. 模块化程序设计的设计原则是_____和_____。
自顶向下 逐步求精2. C 程序中的main 称 _____,它可以出现在程序的_____位置。
主函数 任意 3.结构化程序由_____、_____、_____三种基本结构组成。
顺序 选择 循环 4.组成C 程序的基本单位是 _____,其组成部分包括_____和_____。
函数 函数首部 函数体 5. 由“/*”和“*/”括起来的内容称为_____,它的作用是_____。
提高程序的可读性 6. 描述算法的常用方法有:_____。
自然语言 流程图 N-S 图 伪代码和计算机语言7. 以下程序的输出结果是_____。
main (){ int a=0;a+=(a=8);printf ("%d \n",a ); }168. C 程序中定义的变量,代表内存中的一组_____。
存储单元9. 对以下数学式,写出三个等价的C 语言表达式是_____、_____、_____ c b aa/b/ca/c/ba/(b*c) 10. 表达式s = 10应当读做“_____”。
将10赋给变量s11. 计算机中内存储器的最小单位称为_____ ,其中能容纳的数是_____个 位 0和1 12. 若k 为int 型变量且赋值11,请写出运算k++后表达式的值_____和变量的值_____。
11 1213. 通常一个字节包含_____个二进制位。
在一个字节中能存放的最大十进制整数是_____,它的二进制数的形式是_____;最小十进制整数是_____,它的二进制形式是_____。
8 255 1111 1111 -128 1000 000014. 若x为double型变量,请写出运算x = 3.2, ++x后表达式的值_____和变量的值_____。
4.2 4.215. 当计算机用两个字节存放一个整数时,其中能存放的最大十进制整数是_____、最小十进制整数是_____,它们的二进制形式是_____。
(完整版)C语言考试题库之填空题
二,填空题(10道小题,共20分)1、一个C源程序中至少应包含一个[main]函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、int m=5,y=2;则表达式y+=y— =m*=y的值为.[—16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a—b; printf("%d ,%d \n", a,b );的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR〉(<CR〉代表回车),则下面程序的运行结果是。
#include〈stdio.h〉main( ){ char c;while((c=getchar())!='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用.8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。
9、已知:float f1=3。
2,f2,*pf1=&f1;f2=f1,则*f2的值为.[3.2]10、以下程序void fun(char *a, char *b){ a=b; (*a)++;}main (){ char c1="A”,c2="a”, *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf(“&c&c\n”,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“123”在内存中的字节数是。
[4字节]12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是。
【4】13、int a=24; printf("%o ", a );输出结果是。
c语言期末考试填空题题库及详解答案
c语言期末考试填空题题库及详解答案1. C语言是一种______语言,它支持______和______两种编程范式。
答案:高级,过程式,面向对象2. 在C语言中,变量的声明必须在程序的______部分进行。
答案:开始3. C语言标准库中,用于输入输出的头文件分别是______和______。
答案:<stdio.h>,<stdlib.h>4. 一个C语言程序的执行从______函数开始,到______函数结束。
答案:main,main5. C语言中,字符常量可以用单引号括起来,例如'A'表示______。
答案:字符A6. 在C语言中,整数类型int的范围是______到______。
答案:-32767,32767(在16位系统中)7. 表达式 (a > b) ? (a) : (b) 是一个______表达式,用于返回a 和b中的______值。
答案:三元,较大8. C语言中,数组的索引从______开始。
答案:09. 函数声明必须在函数定义之前,或者在______中声明。
答案:头文件10. C语言中,指针是一种变量,它存储了另一个变量的______。
答案:内存地址11. 字符串在C语言中以______字符结尾。
答案:'\0'12. 在C语言中,使用______关键字可以定义一个函数。
答案:void 或其他数据类型13. C语言中,结构体是一种______数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
答案:复合14. 动态内存分配使用的函数是______,______和______。
答案:malloc,calloc,realloc15. C语言中,______关键字用于定义一个全局变量。
答案:extern16. 在C语言中,______运算符用于计算两个数的乘积。
答案:*17. 函数的参数可以是______、______或______。
C语言考试填空题(全部答案)
计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ) 参考答案:{ char ch;ch=getchar();if( ) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z' printf("It is an English character\n");else if( ) ch>='0'&&ch<='9'printf("It is a digit character\n");else if( ) ch==' 'printf("It is a space character\n");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。
main(){ float score[10], temp1;int i, j;printf("Please enter score:\n");for (i=0; i<10; i++)scanf("%f",&score[i]);for (i=0; i<9; i++)for (j=i+1; j<10; j++)if (score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");for (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i, j;float temp1;for (i=0; i<n-1; i++){ for (j=i+1; j<n; j++)if ( ) score[j] > score[i]{ temp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;printf("Please enter n:");scanf("%d", &n);printf("%d! = %ld\n", n, ); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
C语言程序填空题及答案
程序填空题、1#include <stdio.h>void main()int n,k=0;{scanf(%d,&n);// 1)n 2) n!=0;while( _____1_____ ){k++;n=n/10_____2_____;}printf(%d\n,k);}2、#include <stdio.h>#include <math.h>#define f(x) x*x-5*x+sin(x)void main(){ int x; float max;// max=f(1);______1______for(x=2;x<=10;x++)if(f(i)>max) // max=f(i);______2______printf(%f\n,max);}、3#include <stdio.h>void main(){char c;c=getchar();// c>='a' && c<'v'if(______1______)c=c+5;elseif (c>='v' && c<='z')//c=c-21;______2______putchar(c);}、4.#include <stdio.h>void Dec2Bin(int m){int bin[32],j;for(j=0;m!=0;j++){// m%2bin[j]= ______1______;m=m/2;}for(;j!=0;j--)// bin[j-1]printf(%d, ______2______ );}void main(){int n;scanf(%d,&n);Dec2Bin(n);}5、#include <stdio.h>#include <math.h>void main(){int n,s=0;scanf(%d,&n);n=fabs(n);//n=(n>0?n:-n) 2) ;______ 1 ______while(n!=0) {// s=s+n_x0010_;______ 2 ______n=n/10;}printf(%d\n,s);}、6/#include <stdio.h>//int *pa , int *pb void swap(______1______)*/ 交换两个数的位置{ /*int temp;temp = *pa;*pa = *pb;*pb = temp;}void main(){int a,b,c,temp;scanf(%d%d%d,&a,&b,&c);if(a>b)swap(&a,&b);if(b>c)swap(&b,&c);// a>b if(______2______)swap(&a,&b);printf(%d,%d,%d,a,b,c);}7、#include <stdio.h>//long f(int n);_______1______void main(){printf(%ld\n,f(30));}long f(int n){// n==1||n==2 if( ______2______ )return 1;elsereturn f(n-1)+f(n-2);}8、#include <stdio.h>void main(){char s[80];int i,j;gets(s);// s[i]!='\0' for(i=j=0;______1______;i++)if(s[i] != 'c'){s[j]=s[i];//j++;______2______}s[j]='\0';puts(s);}、9#include <stdio.h>struct STUDENT{char name[16];int math;int english;int computer;int average;};*/ /* 计算平均成绩void GetAverage(struct STUDENT *pst){int sum=0;//sum+ pst->math+ pst->English+ pst->computer sum = ______1______;pst->average = sum/3;}void main(){int i;ike,80,80,90},eter,90,100,99}};for(i=0;i<4;i++){// &st[i]GetAverage(______2______);}printf(Name\tMath\tEnglish\tCompu\tAverage\n);for(i=0;i<4;i++){printf(%s\t%d\t%d\t%d\t%d\n,st[i].name,st[i].math,st[i].english,st[i].computer,st[i].average);}}10、#include <stdio.h>#include <math.h>long f(long n){ long m,y=0; m=fabs(n);while(m!=0) {y=y*10+m_x0010_;// m=m/10;____1____}if(n>=0) return y;//return ( -y);else _____2_____}void main(){printf(%ld\t,f(12345)); printf(%ld\n,f(-34567));}11、#include <stdio.h>float f(float,float*,int);void main(){ float b[5]={1.1,2.2,3.3,4.4,5.5};printf(%f\n,f(1.7,b,5));}// float x,float a[ ], int n float f( _______1________ ) { float y=a[0],t=1; int i;for(i=1;i<n;i++) { t=t*x; y=y+a[i]*t; }// return y_____2_____}、12#include <stdio.h>#include <string.h>#include <ctype.h>void f(char *s){ int i=0;while(s[i]!='\0'){strcpy// if(isdigit(s[i])) ____1____(s+i,s+i+1);//else___2___ i++;}}void main(){ char str[80];gets(str); f(str); puts(str);}13、#include <stdio.h>#include <ctype.h>void main(){ char a[80]; int n[3]={0},i; gets(a);//for(i=0;a[i]!='\0';i++)________1________{if (tolower(a[i])>='a' && tolower(a[i])<='z') /*统计字母个数*/n[0]++;// a[i]>='0' && a[i]<='9' *///*统计数字个数else if (________2________)n[1]++;elsen[2]++;}for(i=0;i<3;i++) printf(%d\n,n[i]);}14、#include <stdio.h>#include<math.h>void main(){int i,a,b,c;for(i=100;i<=999;i++){a=i/100;// b=i_x0010_0/10;_______1_______c=i_x0010_;//i==a*a*a+b*b*b+c*c*c if (________2________)printf(%d is a Armstrong number!\n,i);}}15、#include <stdio.h>void main(){int a[10],b[10],i;printf(\Input 10 numbers: );for (i=0; i<10;i++) /* 数组输入*/scanf(%d, &a[i]);for (i=1; i<10; i++)//a[i]+a[i-1]数组中的元素*/ b/* b[i]=______1______; 计算for (i=1; i<10; i++){printf(=,b[i]);//i%3==0*/ 个数据每行打印if (______2______) printf(\); /* 3 }}。
C语言填空题以及答案
C语言填空题以及答案1. 题目一:将数组a中的元素按从小到大的顺序进行排序,并输出排序后的数组。
答案:```c#include <stdio.h>void bubbleSort(int arr[], int n) {for(int i = 0; i < n-1; i++) {for(int j = 0; j < n-i-1; j++) {if(arr[j] > arr[j+1]) {int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main(void) {int a[] = {5, 2, 9, 1, 3};int n = sizeof(a) / sizeof(a[0]);bubbleSort(a, n);printf("Sorted array: ");for(int i = 0; i < n; i++) {printf("%d ", a[i]);}return 0;}```2. 题目二:编写一个函数,判断一个数是否为素数,并在主函数中调用该函数。
答案:```c#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main(void) {int num;printf("Enter a number: ");scanf("%d", &num);if (isPrime(num)) {printf("%d is a prime number.", num);} else {printf("%d is not a prime number.", num); }return 0;}```3. 题目三:编写一个递归函数,计算斐波那契数列的第n个数,并在主函数中调用该函数。
C语言填空题精选
1.以下程序中,函数f u n的功能是计算x2-2x+6,主函数中将调用f u n函数计算:y1=(x+8)2-2(x+8)+6y2= sin2(x)-2sin(x)+6请填空。
#include "math.h"double fun(double x){ return (x*x-2*x+6);}main(){ double x,y1,y2;printf ("Enter x: "); scanf ("%lf",&x);y1=fun(__x+8____);y2=fun(_sin(x)_____);printf ("y1=%1f,y2=%1f\n",y1,y2);}2. 执行以下程序时输入1234567<CR>,则输出结果是__12 34____。
#include <stdio.h>main(){ int a=1,b;scanf("%2d%2d",&a,&b); printf("%d %d\n",a,b);}3. 若有以下程序int f(int x,int y){ return(y-x)*x; }main(){ int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5));printf("%d\n",d);}执行后输出结果是__9____。
4. 以下程序的输出结果是_ACE_____。
#include <stdio.h>main(){ int i;for(i='a';i<'f';i++,i++) printf("%c",i-'a'+'A');printf("\n");}5. 下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。
计算机c语言填空题
题号科目题型27C语言填空29C语言填空30C语言填空32C语言填空33C语言填空34C语言填空35C语言填空233C语言填空253C语言填空254C语言填空255C语言填空258C语言填空289C语言填空290C语言填空291C语言填空293C语言填空294C语言填空303C语言填空305C语言填空306C语言填空307C语言填空308C语言填空309C语言填空310C语言填空311C语言填空312C语言填空315C语言填空322C语言填空323C语言填空324C语言填空326C语言填空327C语言填空328C语言填空329C语言填空331C语言填空332C语言填空336C语言填空340C语言填空341C语言填空342C语言填空343C语言填空344C语言填空345C语言填空346C语言填空388C语言填空457C语言填空501C语言填空502C语言填空536C语言填空537C语言填空539C语言填空540C语言填空567C语言填空601C语言填空602C语言填空604C语言填空639C语言填空640C语言填空641C语言填空642C语言填空643C语言填空644C语言填空645C语言填空646C语言填空647C语言填空648C语言填空649C语言填空650C语言填空651C语言填空652C语言填空653C语言填空654C语言填空655C语言填空656C语言填空657C语言填空658C语言填空659C语言填空660C语言填空661C语言填空662C语言填空663C语言填空664C语言填空665C语言填空666C语言填空667C语言填空668C语言填空669C语言填空670C语言填空671C语言填空672C语言填空673C语言填空674C语言填空675C语言填空676C语言填空677C语言填空678C语言填空679C语言填空680C语言填空681C语言填空682C语言填空683C语言填空684C语言填空685C语言填空958C语言填空1121C语言填空1125C语言填空1134C语言填空1135C语言填空1142C语言填空1143C语言填空1148C语言填空1151C语言填空1152C语言填空1157C语言填空1161C语言填空1162C语言填空1164C语言填空1166C语言填空1167C语言填空1168C语言填空1172C语言填空1178C语言填空1179C语言填空1180C语言填空1183C语言填空1188C语言填空1191C语言填空1194C语言填空1195C语言填空1204C语言填空1205C语言填空1207C语言填空1217C语言填空1260C语言填空1261C语言填空1262C语言填空1263C语言填空1264C语言填空1265C语言填空1266C语言填空1267C语言填空1274C语言填空1281C语言填空1282C语言填空1283C语言填空1284C语言填空1285C语言填空1286C语言填空1287C语言填空1288C语言填空1308C语言填空1336C语言填空1367C语言填空1376C语言填空1384C语言填空1437C语言填空1438C语言填空1439C语言填空1440C语言填空1441C语言填空1442C语言填空1443C语言填空1444C语言填空1462C语言填空1494C语言填空1498C语言填空1500C语言填空1501C语言填空1503C语言填空1505C语言填空1508C语言填空1510C语言填空1512C语言填空1513C语言填空1516C语言填空1517C语言填空1518C语言填空1519C语言填空1521C语言填空1522C语言填空1523C语言填空1524C语言填空1527C语言填空1529C语言填空1531C语言填空1532C语言填空1533C语言填空1535C语言填空1537C语言填空1539C语言填空1540C语言填空1542C语言填空1543C语言填空1544C语言填空1546C语言填空1549C语言填空1550C语言填空1551C语言填空1552C语言填空1554C语言填空1555C语言填空1557C语言填空1558C语言填空1559C语言填空1560C语言填空1563C语言填空1564C语言填空1565C语言填空1566C语言填空1568C语言填空1569C语言填空1570C语言填空1574C语言填空1577C语言填空1578C语言填空1579C语言填空1580C语言填空1581C语言填空1582C语言填空题干难度分类C语言中的字符变量用保留字【1】来说明.答案:中======(答案1)======char如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:中======(答案1)======void设c语言中,int类型数据占2个字节,则long类型数据占【1】个字节,short类型数据占【2】个字节.答案:中======(答案1)======4======(答案2)======2函数的【1】调用是一个函数直接或间接地调用它自身.答案:中======(答案1)======递归已知 i=5;写出语句 a=--i; 执行后整型变量 a 的值是【1】.答案:中======(答案1)======4将数组a的首地址赋给指针变量p的语句是【1】.答案:中======(答案1)======p=a;C语言表达式!(3<6)||(4<9)的值是【1】.答案:中======(答案1)======1int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】.答案:中======(答案1)======3int a=1,b=2,c=3; 表达式(a&b)||(a|b) 的值是【1】.答案:中======(答案1)======1int a=1,b=2,c=3; 执行语句a += b *= c;后a的值是【1】.答案:中======(答案1)======7表达式18 && 53 的值是【1】.答案:中======(答案1)======1下面程序段的输出结果是【1】.int a=12; a=a&0377;pritnf("%d\n",a);答案:中======(答案1)======12下面程序段的输出结果是【1】.int a=12;a=a&052;printf("%d\n",a);答案:中======(答案1)======8下面程序段的输出结果是【1】.int a=12; a=a&0377;pritnf("%o\n",a);答案:中======(答案1)======14下面程序段的输出结果是【1】.int a=12;a=a&052;printf("%o\n",a);答案:中======(答案1)======10getchar()函数只能接收一个【1】.答案:中======(答案1)======字符C语言的三种基本结构是【1】结构、选择结构、循环结构.答案:中======(答案1)======顺序为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.答案:中======(答案1)======ifif (a>c) b=a;a=c;c=b;中答案:======(答案1)======3当a=1,b=2,c=3时,执行以下程序段后b=【1】.if (a>c) b=a;a=c;c=b;中答案:======(答案1)======2当a=1,b=2,c=3时,执行以下程序段后c=【1】.if (a>c) b=a;a=c;c=b;中答案:======(答案1)======2当a=3,b=2,c=1;时,执行以下程序段后 a=【1】.if(a>b) a=b;if(b>c) b=c;else c=b;c=a;中答案:======(答案1)======2if(a>b) a=b;if(b>c) b=c;else c=b;c=a;中答案:======(答案1)======1当a=3,b=2,c=1;时,执行以下程序段后 c=【1】.if(a>b) a=b;if(b>c) b=c;else c=b;c=a;中答案:======(答案1)======2若所用变量均已正确定义,则执行下面程序段后的 值是【1】.for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n");中答案:======(答案1)======YESYES以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar();中答案:======(答案1)========已知a=13,b=6, a/b的十进制数值为【1】.答案:中======(答案1)======2下列语句输出的结果是【1】,int a=-1;printf("%x",a);答案:中======(答案1)======ffff设 x 的值为15,n 的值为2,则表达式 x%=(n+3) 运算后 x 的值是【1】.答案:中======(答案1)======执行下列语句后,*(p+1)的值是【1】.char s[3]="ab",*p;p=s;中答案:======(答案1)======b设有以下定义的语句:int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;则 *(*(p+2)+1)值为【1】.中答案:======(答案1)======60执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】](在括号内填写下标值)中.答案:中======(答案1)======6C语言中,数组元素的下标下限为【1】.答案:中======(答案1)======C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算.答案:中======(答案1)======地址C程序在执行过程中,不检查数组下标是否【1】.答案:中======(答案1)======越界若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案:中======(答案1)======若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最大的元素的下标值是【1】.答案:中======(答案1)======2C语言中,二维数组在内存中的存放方式为按【1】优先存放.答案:中======(答案1)======行定义int a[2][3];表示数组a中的元素个数是【1】个.答案:中======(答案1)======6字符串的结束标志是【1】.答案:======(答案1)======中\0=========或========='\0'=========或=========求字符串长度的库函数是【1】,只写函数名即可.答案:中======(答案1)======strlen复制字符串的库函数是【1】,只写函数名即可.答案:中======(答案1)======strcpy字符串比较的库函数是【1】,只写函数名即可.答案:中======(答案1)======strcmp合并字符串的库函数是【1】,只写函数名即可.答案:中======(答案1)======strcat设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:中======(答案1)======1.0=========或=========1设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.中答案:======(答案1)======1数组在内存中占一段连续的存储区,由【1】代表它的首地址.答案:中======(答案1)======数组名执行语句char s[3]="ab",*p;p=3;*(p+2)的值是【1】.答案:中======(答案1)======\0'在C语言中,最大整型数是【1】.答案:中======(答案1)======32767。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 下面程序main(){int x=32;printf("%d\n",x=x<<1);}的输出是____64__。
本题的考查点是位运算。
<<是C语言中规定的左移运算符,例如,a=a<<2,这个语句即是将a的二进制数左移两位,左移一位相当于该数乘于2,左移两位相当于该数乘以2的2次方。
所以,x<<1=32*2=64。
2. 执行下面的程序段int x=35;char z='A';int B;B=((x&15)&&(z<'a') );后,B的值为__1____。
本题的考查点是逻辑与及位与运算。
从整个表达式来看是个逻辑表达式,而与运算符"&&"的右边的子表达式中由于z的值为"A",而A的ASCII 码的值小于a的ASCII码值,所以这个子表达式的值为真,即1;在与运算符"&&"的左边的子表达式是个基于位运算的子表达式,将x的值与15做位与运算,表达式值不为零,所以两个子表达式的与值应当为1。
3. 以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。
请填空。
int fun ( int n){ int m=0,f=1,i;for(i=1; i<=n; i++){ m+=i*f;f=_-f 或 f*-1 或 -1*f _____;}return m;}main(){ printf("m=%d\n",__ fun(10)____);}本题的考查点是C程序设计。
根据程序写出运行结果。
考察的知识点主要是函数的调用。
本题利用一个fun函数来完成题目要求的计算。
程序中f起的作用是控制i*f的符号,看的出,偶数位都为负值,所以f的值为(-1)^(i+1),最后要求输出m的值,在输出中调用fun函数,并把实参10传给n。
(-f 或 f*-1 或 -1*f;fun(10) )4. 以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。
和值通过形参传回主函数输出。
请填空。
#define M 2#define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i<N;i++){ k=0;for(j=1;j<M;j++)if(a[k][i]>a[j][i])k=j;s+=__ a[k][i]____ ;}_ *sum _____ =s;}main(){ int x[M][N]={3,2,5,1,4,1,8,3},s;SumColumMin(_x,&s _____);printf("%d\n",s);}本题考查的是函数参数的传送。
解题过程:(1)执行以i为变量的for语句1)k=02)执行以j为变量的for语句①当j=1②比较a[0][0]和a[1][0]的大小,如果a[0][0]大于a[1][0]则k=1;如果a[0][0]大于a[1][0]则k=0③j=2所以结束循环3)此时a[k][i]就代表第一列中最小的值,要累计所有列中的最小值的和,应该在第一空内填写a[k][i],用变量s累加。
(2) SumColumMin是一个无返回值的函数,其中形式参数*sum是一个指针类型,所以第二空应该填写*sum,用来将该指针变量指向s(3)当主函数main调用SumColumMin时,需要两个实际参数,一个代表被操作的数组,一个为指向累计和的指针变量,所以第三个空应该为 x,&s,分别代表已经被定义的数组x,和整型变量s的地址。
5. 以下程序段的输出结果为_1 0____。
char *p;int i,d;p="PDP1-0";for(i=0;i<7;i++){d=isdigit(*(p+i) );if(d!=0)printf("%c\n",*(p+i) );}本题的考查点是函数isdigit()。
这段程序的目的是按从左至右的顺序从字符串p中找出阿拉伯数字字符,如果找到,将其打印出来。
最后的输出应当是:16. 函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s<t时返回负值。
请填空。
mycmp( char *s,char *t){ while (*s==*t){ if (*s=='\0')return 0;++s;++t;}return(______);}本题的考查点是比较字符串的大小。
函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t 的第一个字符,在while循环中,是通过s和t值的不断变化改变两个串的第一个字符,要返回s和t的第一个不同字符的ASCII码的差值,必须使用"*s-*t"得出。
故本题答案为:*s-*t。
7. 以下程序的输出结果是______。
#define MCRA(m) 2*m#define MCRB(n,m) 2*MCRA(n)+mmain(){ int i=2,j=3;printf("%d\n",MCRB(j,MCRA(i)));}本题的考查点是带参数的宏定义。
带参数的宏定义是这样展开置换的:在程序中如果有带实参的宏,则按#define 命令行中指定的字符串从左到右进行置换。
如果串中包含形参,则将程序语句中相应的实参(可以是常量、变量或表达式)代替形参,如果宏定义中的字符串中的字符不是参数字符,则保留。
因此对MCRB(j,MCRA(i))进行宏展开就得到了2*MCRA(j)+MCRA(i),即:2*2*j+2*i=2*2*3+2*2=16。
故本题答案为:16。
8. 下面程序的运行结果是:______。
void swap(int *a,int *b){int *t;t=a;a=b;b=t;}main(){int x=3,y=5,*p=&x,*q=&y;swap(p,q);printf("%d%d\n",*p,*q);}本题的考查点是函数调用。
观察本题的程序可以看出,被调函数swap()实现的功能是交换变量的值,但由于函数不返回任何值,所以在main()函数中打印出的变量的值并没有发生交换,即仍为3和5。
故本题答案为:3和5。
9. 以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。
请填空。
void sstrcpy(char *s,char *t){ while(*s++=__*t++____);}main(){ char str1[100],str2[]="abcdefgh";sstrcpy(str1,str2);printf("%s\n",str1);}要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用*s=*t;s++;t++。
或者可以写成*s++=*t++,本题只有一个空,可以填入*t++。
10.以下程序的输出结果是__0____。
union myun{ struct{ int x,y,z;}u;int k;}a;main(0{ a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}本题主要考查C语言中构造类型,联合体与结构体。
结构体中的成员使用各自的存储区,而联合体中的成员使用共同的存储区。
11.有以下程序main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i]; i++;}printf("%d\n",k);}执行后输出的结果是______。
本题的考查点是while循环语句。
while语句是先判断后执行。
i=0时,i<7为真,p[0]%2=11%2=1为真,k=k+p[0]=11;i=1时,i<7为真,p[1]%2=13%2=1为真,k=k+p[1]=11+13=24;i=2时,i<7为真,p[2]%2=14%2=0为假,结束循环。
所以打印输出24。
12.有以下程序main(){int a[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2) pa[1][i]=pa[1][i]-1;else pa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是______。
本题的考查点是二维数组和指针数组的应用。
在所给的程序中,pa指向二维数组首地址a,接着执行下面的for循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
13.有如下程序main(){ int i,sum;for(i=1;i<=3;sum++) sum +=i;printf("%d\n",sum);}该程序的执行结果是______。
在循环过程中,i的值一直没有被改变,所以这是一个死循环。
14.有以下程序main(){ int i,n=0;for( i=2;i<5;i++){do{ if(i%3) continue;n++;}while(!i);n++;}printf("n=%d\n",n);}程序执行后输出结果是______。
当i=2时,i%3为真,继续执行n++;此时n=1,!i为假,结束while循环,执行n++,此时n为2。
当i=3时,i%3=0,跳出循环。
当i=4时,i%3=1为真,继续执行n++,此时n为3,!i为假,结束while循环,继续往下执行n++,此时n 为4。
15.下面程序void prtv(int *x){ printf("%d\n",++*x);}main(){ int a=25;prtv(&a);}的输出是______。