1. 设float x=2.5,y=4.7; int a=7;,则表达式 x+a%3*(int)(x+y)%2/4 的值为 。
2. 设 int x=17,y=5; 执行语句 x+=--x%--y 后,x的值为 。 3. 设 int x=17,y=5; 执行语句 x%=x++/--y 后,x的值为 。
4. 设 int a=7,b=6,c=5;,则表达式 (a+b)>(c*c)&&b==c||c>b 的值为 。 5.设 int a=3,b=5,c=7;,则表达式a>c||c>b!=0&&c==b+a 的值为 。 6.已知三角形边长a、b、c和s=(a+b+c)/2,计算其面积的算术表达式为 。
7. 已知方程ax+bx+c=0系数a、b、c且存在两个实根,计算其中一个实根的算术表达式为 。
8. p为本金,r为1年期存款年利率,计算存款p元5年到期时本金、利息总和(计复利)的算术表达式为 。 9.将数学式 (x+1)e 写作为 。 10.ch
是字符变量,判断
ch
为大写英文字母的逻辑表达式
为 。
11. 判断int类型变量n是否为两位整数的逻辑表达式为 。 12. 判断变量a、b的值均不为0的逻辑表达式为 。 13. 判断变量a、b是否绝对值相等而符号相反的逻辑表达式为 。 14. 判断变量
a、b
中必有且只有一个为
0
的逻辑表达式
为 。
15. m是值为两位数的整型变量,判断其个位数是奇数而十位数是偶数的逻辑表达式为 。
16. 求解赋值表达式 a=5+(c=6)后表达式值、a、c的值依次为 。 17. 求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c的值依次为 。 18. 求解逗号表达式 x=a=3,6*a后,表达式值、x、a的值依次为 。 19. 求解逗号表达式 (a=15,a*4),a+5,表达式值、a的值依次为 。 20. 求变量a、b中最大值的条件表达式为 。
21. 若 a=13、b=25、c=-17,条件表达式 ((y=(a='a'&&s<='z')?s-32:s; 字符变量s的值为 。 23. 整型变量x的值为25,语句\"printf(\"%o\",x);\"的输出结果为 。 24. 整型变量m的值为27,语句 printf(\"m=%x\",m);的输出结果为 。 25. 语句printf(\"s%s\",\"mall\"); 的输出结果为 。
26. 若int k=10, 循环语句while (k=0) k=k-1; 执行_________次。
27.若int k=2, 循环语句while (k!=0) { printf(\"%d\",k); k--; } 执行_____次。 28. 若int i=10,s=0;,执行语句while(s+=i--,--i);后s、i值分别为 。
4
2x
2
C语言的算术表达式
29. 程序段 int s,i; for(i=1;i<=100;s+=i,i++); 能否计算1~100的和? 原因是 。
30. 若int类型变量字长为2,程序段 int jc=1; for(int i=2;i<10;i++)jc*=i; 能否 计算10的阶乘? 原因是 。 31. 定义a为共有10个元素的静态存储int类型数组的语句为 。
32. 定义a为长度为10的字符串、同时为字符串赋初值\"continue\"的语句为 。
33. 定义a为共有5个元素的一维整型数组、同时定义p为指向a数组首地址的指针变 量的语句为 。
34. 定义a为4行5列的二维整型数组、同时定义p为指向a数组首地址的指针变量的 语句为 。 35. 如定义语句为“char a[]=\"windows \",b[]=\"95\";”,
语句\"printf(\"%s\",strcat(a,b));\"的输出结果为 。 36. 定义语句为 char a[15],b[]=\"windows 95\";,则语句 printf(\"%s\",strcpy(a,b)); 的输出结果为 。
37. 定义语句为 char a[]=\"Box\",b[]=\"Boss\";,语句 printf(\"%d\",strcmp(a,b));输 出 。
38. 定义语句为“char a[10]=\"student\";”,语句\"printf(\"%d\",strlen(a));\"的输出 结果为 。
39. 定义语句为 char a[]=\"WINDOWS\";,语句 printf(\"%s\",strlwr(a));输出 。 40. 定义语句为 char a[]=\"hangzhou\",*p=a;,语句 for(int i=0; *p!='\\0'; p++,i++); 执行后i的值为 。
41. 对宏定义语句“#define f(x,y) printf(x,y)”的引用 f(\"%d\\n\",m); 置换展开后为 。
42. 宏定义语句 #define f(x,y) fopen(x,y) 的引用 f(\"a.txt\",\"rw\"); 置换展开后为 。 43. 宏定义语句 #define f(c) c>='A'&&c<='Z' 的引用 f(x[i]) 置换展开后为 。
44.表达式 3&5、3|5、3||5 的值分别为 、 、 。 45.C语言的标识符由 、 和 组成。
46.设 int x=0707,表达式 ~x&&x、!x&&x、x>>3&~0的值分别为 、 、 。 47. 函数的参数为int类型时,形参与实参结合的传递为 。 48. 函数的参数为float类型时,形参与实参结合的传递为 。 49. 函数的参数为char* 类型时,形参与实参结合的传递为 。 50. 函数的实参为常量时,形参与实参结合的传递为 。 51.对下列递归函数,函数调用f(3)的返回值是 。 int f(int n) { return((n==0)?1:f(n-1)+2);}
52.函数f定义如下,调用f(\"1475\")的返回值为 。 int f(char *s) { int k=0; while(*s) k+=*s++-'0'; return k;}
5
53. 函数change定义如下,若a=10、b=5,执行 change(a,b)后a、b的值分别为 。 void change(int a,int b) { int t=0; t=a; a=b; b=t;}
54. 开辟一个存储n个int数据的内存区、并将内存区首地址送入p(指向int类型的指 针变量)的语句为 。
55.释放由p所指向的内存区的语句为 。
56.fp为文件位置指针,将fp移到离当前位置25个字节处的语句为 57.int i=234,j=567; 函数printf(\"%d%d\\n\",i,j) 的输出结果是 58.int i=234; float x=-513.624;函数printf(\"i=%5d x=%7.4f\\n\",i,x) 的输出结果是
59. float alfa=60,pi=3.1415926535626;函数printf(\"sin(%3.0f*%f/180)\\n\",alfa,pi) 的输出结果是
60. char ch='$',float x=153.45;函数printf(\"%c%-8.2f\\\\n\",ch,x) 的输出结果是 61. int d=27; 函数printf(\"%-5d,%-5o,%-5x\\n\",d,d,d) 的输出结果是 62. float x1=13.24,x2=-78.32; 函数printf(\"x(%d)=%.2f x(%d)=%.2f\\n\",1,x1,2,x2) 的输出结果是 .
63.设float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4 值为 。 75. 求1至100的和,写作 for(s=0,i=1; ;++i) s+=i;
76. 执行程序段“y=1; x=5; while(x--); y++;”后,y的值为
77.顺序输出26个大写英文字母的循环结构,写作for( ) putchar(ch);
78. 输入若干个以问号结束的字符,同时输出这串字符(不包括问号),写作while( !='?') putchar(ch);
79.循环程序段“k=5; for(;k<0;k--);”执行后,k的值为 80.定义函数时,若缺省函数类型标识符,函数返回值类型为 。 81.函数之间参数传递的方式有 和 。
82.当参数采用地址调用方式传递时,实参必须是与形参同类型的 。 83.参数采用传值调用方式时,若实参与形参不同类型,C的处理是
。
84. 调用时形参值的改变,能引起实参变量有改变的参数传递方式是 。 85.定义一个带参数的宏,若变量中的字符为大写字母则转换成小写字母
86.定义一个带参数的宏,将两个参数的值交换
#define swap(a,b) { double t; } 87.定义带参数的宏为 #define max(a,b) ((a)>(b)?(a):(b))
对表达式 max(a,max(b,max(c,d))) 作宏替的功能为(用文字描述): 88.未初始化的int类型数组,其各元素的值是 。
89.初始化时没有被赋值的字符类型数组元素,它们的值为 。 90.数组声明为“int a[6];”,数组元素a[1]是否又可以写作“*(a++)”?
6
原因是 。
91.引用二维数组a第i行、j 列的元素(i、j为0表示第1行、第1列),可以写
作 或 。
92.数组声明为“int a[6][6];”,表达式“*a+i”是指 、“*(a+i)”是指 、“**a”又是指 。
93.数组声明为“float x[7][5];”,若x[6][4]是内存中从x[0][0]数起的第35个元素,则x[4][4]是第 个元素。
94.声明“char str1[20]=\"Borland c++ 5.0\"”后,使字符串str1为\"Borland\"的赋值表达式,应为 。
95.将包括空格在内的6个字符串输入到字符数组a[6][20]中,输入语句可以写作 。
96.声明float类型变量x和指向x的指针变量px的语句是 。 97. 声明语句为“char a[5][9],*pa[5];”。为指针数组pa各元素顺序赋值a数组各行首地址值的循环结构可以写作 。
98. 声明fg为指向返回值为float类型、形参依次为 float**、int、int类型变量的函数的指针,声明语句为 。
99. 编制函数find_ch,在一个字符串中查找字符ch第一次出现的位置,返回值为所找到字符的地址,函数find_ch的原型应为 。 100.动态分配n个int类型数据的存储空间,并将该存储空间的首地址返回给指向int类型数据的指针变量p,写作语句 。 101.fopen函数的返回值是 。
102. 文件打开方式为\"r+\",文件打开后,文件读写位置在 。 103.文件打开方式为\"a\",文件打开后,文件读写位置在 。 104. 表达式“fgetc(fpn)”的值为 或 。 105. 表达式“fgets(a,10,fpn)”的值为 或 。 106. 函数fscanf的返回值为 或 。 107. 函数fread的返回值为所读入数据的个数或 。
108.表达式“fscanf(fpn,\"%f\",&x)”的值为-1时,函数feof()的值为 。 109、若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[1]; 则(1)、++(*p)的值是 [1] 。 (2)、*(++p)的值是 [2] 。 (3)、*(p++)的值是 [3] 。
110、若有以下定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是 [1] , *(a[1]+2)的值是 [2] ,*(*(a+1)+2)的值是 [3] 。
111、若有以下定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)值是 [1] ,*(a+5)的值是 [2] 。
112若有以下定义:int a[2][3],I,J;,则程序中引用元素a[I][J]的四种方法为 [1] 、 [2] 、 [3] 和 [4] 。
7
因篇幅问题不能全部显示,请点此查看更多更全内容