作者:若涵她娘_124 | 来源:互联网 | 2023-05-17 12:55
有很多题是错的求正解最好给出过程谢谢1、一个完整的C程序有且仅有一个main函数2、在内存中存储一个字符“a”占用1个字符,而存储字符串“abcdef”则占用7个字符
有很多题是错的 求正解 最好给出过程 谢谢
1、一个完整的C程序有且仅有一个main 函数
2、在内存中存储一个字符“a”占用1个字符,而存储字符串“abcdef”则占用7个字符
3、表达式4/5的值为0
4、设int x=9,y=8, z=7,w; w=x>y>z, 则w的值为0
5、x=4.5, a=7, y=3.4, 表达式x+a%3(int)(x+y)%2/4的值为0
6、a=14,执行a+=a-=a*=a后,a=0
7、设x=y=z=6,执行x=(y>2)?x+2:x-2后,x=4
8、getchar()函数用于输入字符,而gets()函数用于输入字符串
9、设有定义语句:char ww[20]=”\t\\wab\n”,则表达式:strlen(ww)的值为6
10、设有定义语句:char str[7]=”abcdef”,则数组元素str[2]中的字符是c ,数据元素str[6]中的字符是\0
11、函数中的形参和调用时的实参都是变量时,传递方式为值传递,都是数组名时,传递方式为地址传递
12、设有char *p=”12345”, 则printf(“%s”,p)的输出是12345
13、设有以下说明,则变量qq在内存中所占的字节数是20 ,如果将关键字struct改为union则变量qq所占有的字节数为10
struct student{ char name[10];
int nl;
float ave;
} qq;
14、已知当前目录下有一个名为file.txt的文本文件,写出将该文件打开(只允许写)的语句: FILE *fp; fp=fopen(“file.txt”,”w+”)
15、C语言源程序中主函数名由系统规定为main() ,程序员不能改变。
16、已知函数定义为:int stat(int a, float *p)
{………….}
则此函数的两个参数类型分别是整型、浮点型
17、设有数组a[10];则首地址可以写成a[0]
数组元素a[3]的地址可以写成a+3
18、要使以下程序段中的函数调用语句printf(“***”);执行10次
应在1处填入整数
For (i=1; i<= 20或19 ;i+=2) printf(“***”);
19、用只读方式打开e:\20081234目录下的名为“testa.dat”的文件,
正确的打开语句为FILE *fp; fp=fopen(“e:\\20081234\\testa.dat”,”r”)
20、已知赋值语句zhang.year=1985;可判断zhang是结构体类型的变量
21、C语言程序的三种基本结构是:
A.顺序结构,分支结构,循环结构 B。递归结构,循环结构,转移结构
C.嵌套结构,循环结构,顺序结构 D。递归结构,分支结构,顺序结构
22、能正确表达逻辑关系“0
A.(0 B. ((0 C. (0 D. (0 23、设x和y为浮点型变量,则以下语句是正确的赋值语句:
A.x=&y B.x*x=y C.x=x+10*y D.*x=y+2
24、设int a=3;下列哪一个表达式的值等于0
A. a B. !a||a C. a>=a D.a%=a
25、定义如下变量和数组,则下面程序段落的输出结果是
int i ; int x[3][3]={0,1,2,3,4,5,6,7,8};
for (i=0;i<3;i++)
printf(“%d”,x[i][2-i]);
A. 2 4 6 B. 0 3 6 C. 0 4 8 D. 2 5 8
26、有下列程序段落
int i ,a[5];
for(i=0;i<5;i++)
scanf(“%d”,&a[i]);
若要使数组元素的值分别为1,2,3,4,5,应从键盘输入
A. 1,2,3,4,5 B. 1 2 3 4 5 C. 12345 D. 1;2;3;4;5
27、数组名作为函数的参数进行传递时,形参获得的是
A. 该数组第一个元素的值 B。该数组所有元素的值
C. 该数组所有元素的地址 D。该数组的首地址
28、设有如下宏定义
#define A 3+2
#define B A*A 3+2*3+2*3+2*3+2=23
则表达式”B*B”的值为 3+2*3+2*3+2*3+2
A.23 B. 5 C. 25 D. 625
29、在下列说明中,结构类型变量x所占用的内存字节数为
Struct exp
{ int i ;
float j ;
double k ;
}
A. 8个 B。 7个 C。14个 D。随计算机而定
30、设有定义: int k=3 , *p=&k; 则表达式 *p的值是
A.1 B。 0 C。 2 D。3
31、下列程序的输出结果为
main ()
{ int i=3, b;
B=(i--)+(i--);
Printf(“%d”,b);
}
A. 6 B。 2 C。 3 D。4
32、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A. c=b=a B. (a=c)||(b=c) C. a=b=c D. (a=c)&&(b=c)
33、下列叙述不正确的是
A.函数定义可以嵌套 B。宏定义可以嵌套
C.函数调用可以嵌套 D。循环结构可以嵌套
34、设 char *p=”abcde”,则printf(“%s”,p)的输出结果为
A.c B. cde C. b D. abcde
35、 p1 p2 为指向浮点的指针变量,下列运算没有意义的是
A. *p1-*p2 B. p1++ C. *p1+*p2 D. p1+p2
36、在c语言中,运算对象的逻辑值“真”用 表示
A. false B. 非0 C。0 D。 负数
37、已知函数原型声明为:char *www(char a, char b);该函数的类型为
A. 指向字符型的指针 B。字符型
C. 整型 D。 指向整形的指针
38、设 int 类型的数据长度为2字节,则该类型数据的取值范围是
A. 0至65536 B. 0至65535 C.-32767至32768 D.-32768至32767
39、 int a, *p, **w; p=&a, w=&p; 取a的值的表达式为
A. &a B. &*p C. **p D. **w
40、c语言程序的基本单位是
A. 函数 B.标识符 C.表达式 D. 语句
41、已知: int main(int argc,char *argv[])…形成可执行文件 ww.exe
执行如下: ww a1 a2 a3 则: argc为
A. 3 B. 1 C. 2 D. 4
42、在C语言中,逻辑量“假”的值用 表示
A. false B. 0 C. 非0 D. 负数
43、已知函数原型声明为: char *www(char a, char b); 该函数的类型为
A.指向字符型的指针 B. 字符型
C.整型 D. 指向整形的指针
44、有语句 char str1[20]=”hello”, str2[10]=”world”,
则将字符串”world”连接到”hello”之后,正确的语句为
A. str1=str1+”world” B. strcat(str1; str2);
C. str1=str1+str2 D. strcat(str2,str1);
45、设有如下程序段
int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}
int *p[3]={a[0],a[1],a[2]}, **pp;
pp=p;
则对数组元素的错误引用是
A.pp[0][1] B. a[1][2] C. p[3][1] D. *(*(p+2)+2)
46、判断字符型变量的 ch 的值是否为大写英文字母的表达式为
A. ‘A’<=ch<=’Z’ B. ch>=’A’ && ch<=’Z’
C. ch>’a’ && ch<=’z’ D. ch>=’A’ || ch<=’Z’
47、已知 w=3,x=2,y=3,z=3,a=4,b=2;则执行语句(a=2>x)||(b=y>z);后a,b的值为
A.1和1 B. 0和0 C. 1和2 D. 4和2
48、若有定义语句 int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a;值为8的数组元素的正确表示为
A.a[8] B. a+7 C. p+7 D. *(p+7)
49、下列程序运行结果是
#define A 2
#define AA A+A/2
void main(void)
{
printf(“%d, ”,AA);
printf(“%d\n”, 5*AA);
}
A. 3,11 B. 3,15 C. 2,10 D. 8,40
50、若有如下定义,则对ex中的a成员的正确引用是
struct sk{ int a; float b;} ex, *p=&ex;
A. (*p).ex.a B. p->a C. p->ex.a D. p.ex.a
1、 main()
{
int i,j;
for(i=1;i<4;i++)
{
for(j=1;j<2*i+1;j++)
printf(“%c”,’*’);
printf(“\n”);
}
}
解:
**
****
******
2、(未完整)
#include
void main(void)
{
int a[10]={1,9,18,24,-14,2,6,-16,4,5};
3、
#include
struct student
{ long num;
char name[10];
float score;
} stu[4]={ 9300011,”Wang”,80.5,
9300021,”Zhang”,79.5,
9300031,”Li”,95.5,
9300041,”Zhao”,74.5,
}
void main(void)
{
int i;
for(i=0;i<4;i++)
if(stu[i].score>=80.0)
printf(“%10ld%10s%10.2f\n”,stu[i].num,stu[i].name,stu[i].score);
}
解:
三个空格9300011六个空格Wang五个空格80.50
三个空格9300031八个空格Li五个个空格95.50
37 个解决方案
这个一看就是lz自己懒了,希望自立更生啊!csdn不是帮人做题的地方,而是交流技术的地方。不懂可以问,但不能这样
哎 这样看很费时间的啊 哪儿不懂直接问问题 这样做就不好了吧
哎呀,打字也要花不少时间呢,没功劳也有苦劳哦,嘿嘿。
....................................
把答案给你会害了你...................
好好学习
天天向上
有些苦是必须吃的
有些罪是必须受的
我给你做个示范::
1.main()
{
char*s="hello!"
printf("%s"\n,s);
}
2.因为最后‘\0'作为结束符号。要占用一个字节!
..................................
够意思吧!下面的你照我做的做就行了!
牛呀,
兄弟以后还是自己尝试做下吧!结果没什么!先试试!
楼主,做了10个,感觉这个太。。。。
你自己做吧
1.
code:
main(){}
2.'\0'在字符串末尾,占一个字节
3.4/5类型为int 结果强制转换成int就为0了
4.计算过程:x>y成立,转换成int为1,然后1>z不成立,结果转换成int类型为0,即w=0
5.运算过程:x+y=7.9 (int)强制转换成int后为7,然后计算2/4为0到这个时候算式为x+a%3 7%0这里我不理解了 3和7中间该有个运算符号,LZ自己思考下
6.赋值运算从右到左:a*=a后a为a*a,a-=a后a为a*a - a*a =0,最后是a += a结果是a=a+a=0
7.略。
8.略
9.如2
10.数组下标由0开始
给300分,可以考虑!!
呵呵,RMB also can do it。
选择45 49 50 谁能告诉我怎么做 别的都会了。。。。