锦州网站推广,陕西省建设厅网站劳保统筹基金,在网上做试卷的网站,黄页推广引流一、单项选择题(在每小题的四个备选答案中#xff0c;选出一个正确的答案#xff0c;并将其号码写在答题纸上。请注意注明题号。每小题1分#xff0c;共计6分)1、‘\t’表示什么?①字符串常数②标识符③变量④字符常量答案#xff1a;④2、对宏定义不正确的描述是哪一个?…一、单项选择题(在每小题的四个备选答案中选出一个正确的答案并将其号码写在答题纸上。请注意注明题号。每小题1分共计6分)1、‘\t’表示什么?①字符串常数②标识符③变量④字符常量答案④2、对宏定义不正确的描述是哪一个?①在进行宏定义时可以引用已经定义的宏名可以层层置换//可以引用已经定义了的宏名,可以层层置换②宏名的有效范围包括本文件的任何位置//宏名的有效范围定义命令之后到本源文件结束可以用#define终止宏定义的作用域③宠定义不是语句不必在行末加分号//是预处理定义语句④对程序中双引号括起来的字符串即使与宏名相同也不进行置换3、若定义static char s[20]”computer”;则执行语句x strlen(s);之后x的值为多少?①20 ②9 ③8 ④19//strlen函数计算char*型字符串的长度的时候并不包含末尾的\0;4、以下哪一个表达式取值是正确的?①65结果为6 ②65结果为7③6||5结果为7 ④65结果为05、如定义enum weekday {one, two, thr, fou, fiv;enum weekday working;以下哪个是不正确的枚举变量的使用?①working thr; ②working 2;③working (enum weekday)2;④working (enum weekday) (5-3);//不能对其赋值6、下列说法中正确的是哪一个?①sizeof (char)是结果为整型的表达式②sizeof (char)是一个不合法的表示形式③sizeof (char)是一种函数调用④sizeof (char)是结果为实型的表达式二、阅读程序并回答问题(共12分)1、下列程序的输出是什么?(3分)# includevoid main ()﹛char * aplha [6] ﹛“ABC”“DEF”“GHI”“JKL”“MNO”“PQR”﹜;char **p;int i;p aplha;for (i 0; i4; i)printf (“%s”, p[i]);printf (“\n”);﹜//输出结果ABCDEFGHIJKL刚好是字符串数组里面的前四个元素的内容连接起来2、下列程序为什么无法将用户输入的三个整数按从小到大排序输出?应该如何修改?(6分)# includevoid swap (int x, int y)﹛int t x;x y;y t;﹜void main ()﹛int a, b, c;scanf (“%d, %d, %d”, a, b, c);if (ab) swap (a, b);if (ac) swap (a, c);if (bc) swap (b, c);printf (“%d, %d, %d”, a, b, c);﹜//函数swap采用值传递虽然将形参x和y交换了但是并不影响到实参。将值传递改成指针传递就可以了。C函数参数采用值传递方式虽然swap函数将形式参数x和y的值进行了调换但是影响不到相应的实在参数。所以在主函数中通过调用sawp函数调换a和b(或a或c或b和c)的值是根本达不到目的的。修改(1)(2分)void swap (int *x, int*y)﹛int t *x;*x *y;*y t;﹜(2)(2分)主函数if(ab) swap(ab);if(ac) swap(ac);if(bc) swap(bc);3、假设系统为基本整型量分配2个字节为字符型量分配1个字节。下列程序完成的功能是什么?(3分)# includeunion﹛int n;char ch [2];﹜u;void main ()﹛int m;scanf (“%d”m);u.n m;printf (“\n%u, %u”u.ch[0], u.ch[1]);﹜//该程序的功能取用户输入的整数值的高字节和低字节并按照任意整数的低字节和高字节分别输出。三、程序设计题(12分)假设一个文本文件中保存着100个整数请将这100个整数按从小到大的顺序写到另一个文本文件中去并且在新文件中每10个整数占一行。源文件名和目标文件名通过命令行参数获取。分数分配变量定义2分命令行参数处理1分文件打开1分文件读2分排序3分文件写2分文件关闭1分# includevoid main(int argc, char *argv[])﹛FILE *fin, *fout;Int a [100], i, j, t;if(argc!3)﹛printf (“ You forgot to enter a filename\n”);return;﹜fin fopen (argv[1], “r”);fout fopen (argv[2], “w”);for (i 0; i100; i)fscanf (fin, “%d”, a[i]);for (i 0; i99; i)for (i 0; i99-i; i)if (a[j]a[j1])﹛t a[j]; a[j] a[j1]; a[j1]t;﹜for (i 0; i100; i)﹛if (i%10 0)fprintf (fout, “%s”, “\n”);fprintf (fout, “%d”, a[i]);﹜fclose (fin);fclose (fout);﹜