网站设计创意方案,网站建设与推广的步骤,做外贸营销网站销售咋样,企业信用信息查询公示系统网址1.对一维整型数组a的正确说明是 #define SIZE 10 (换行) int a[SIZE];说法是否正确#xff1f; 正确 数组的SIZE可以用宏定义#xff0c;但不能用变量 2.如有定义#xff1a;char str[20];#xff0c;能将从键盘输入的字符串“How are you”保存到 str 数组的语句是#x… 1.对一维整型数组a的正确说明是 #define SIZE 10 (换行) int a[SIZE];说法是否正确 正确 数组的SIZE可以用宏定义但不能用变量 2.如有定义char str[20];能将从键盘输入的字符串“How are you”保存到 str 数组的语句是
A scanf(%s, str);
B str[] getch();
C gets(str);
D str gets(); C gets(str); A选项scanf()函数里输入空格会被系统当作输入字符串之间的分隔符认为当前字符串已经结束。所以str[20]中实际存储的是How。 B选项getch()一次只能读取一个字符。 C选项gets(str);可以读取字符串以回车键作为结束标志。 D选项gets()函数用错了 2.线性表的长度是线性表所占用的存储空间的大小。 错 线性表长度的定义是它所包含的元素的个数 元素的类型决定了元素所占用存储空间的大小但元素的个数不等价于元素的类型 3.如下代码所示分别用于统计字符串的长度在32位系统里那么输出的结果分别为 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #includestdio.h void testArgs(char* s) { printf(%d\n, sizeof(s)); } int main() { char s[] I want to go on vacation; printf(%d\n, sizeof(s)); testArgs(s); return 0; } 输出为 254 sizeof统计的是字符串s占用空间的大小且包括结束符\0因此第一次输出的大小为25当字符串s是通过参数传递到函数testArgs时则函数会由指针s来指向传递的字符串这一片内存因此第二次sizeof的时候是对指向该字符串的指针变量长度的统计。 由于不同类型的指针变量长度都是一样的不同机器可能存在差异都是4字节长度。 4.int a4,则对于表达式(a)的结果是什么 没有结果程序出错 a后a4 自增运算必须针对变量 而a返回4 最后相当于4 所以错误 a是右值不能再进行左值运算 5.以下程序能对两个整型变量的值进行交换。以下正确的说法是 int main() { swap(int p, int q); int a 10, b 20; printf((1)a %d, b %d\n, a, b); swap(a, b); printf((2)a %d, b %d\n, a, b); } swap(int p, int q) { int t; t p; p q; q t; }
A 该程序完全正确
B 该程序有错只要将语句swap(a, b);中参数改为ab即可
C 该程序有错只要将swap函数中的参数p、q及t均定义为指针变量即可
D 以上说法都不正确 D 以上说法都不正确 第一种:使用引用 void swap(int p,int q){ int t; tp;pq;qt; } 调用swap(a,b) 第二种:使用指针 void swap(int *p,int *q){ int t; t*p;*p*q;*qt; } 调用swap(a,b) 注意如果直接传递ab,函数里面的交换并不会影响函数外面的传参 6.在C语言中关于静态变量的说法不正确的有
A 函数中的静态变量在函数退出后不被释放
B 静态变量只可以赋值一次赋值后则不能改变
C 静态全局变量的作用域为一个程序的所有源文件
D 静态全局变量过大可能会导致堆栈溢出 BCD B选项静态全局变量可以重复赋值 C选项静态全局变量作用域为当前文件普通全局变量 作用域是整个程序 D选项静态全局变量不是存在堆栈里的所以不存在堆栈溢出已经初始化的存在数据段中没有初始化的静态全局变量存在BSS中