几道C语言的题,帮忙答一下,希望是绝对正确的答案,不明确的别扰乱啊

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
几道C语言题目,我没分了,希望你们能帮助我,感谢

1. char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。 (2分) 1. True
2. 两个字符串中的字符个数相同时才能进行字符串大小的比较 (2分) 2. False
3. 如果想使一个数组中全部元素的值为0,可以写成 int a[10]={0*10}; (2分) 3. True
4. char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句。 (2分) 4. True
5. 取地址运算符&与指针运算符*的优先级相同,结合方向为自右向左。 (2分) 5. True
6. 在二维数组中,行指针是指向一维数组的指针变量. (2分) 6. True
7. 程序进行编译时,不为形式参数分配存储空间. (2分) 7. True
8. 在语句int *p;和语句printf("%d",*p);中的*p含义相同。 (2分) 8. False
9. 对二维数组a来说,由于a+1与*(a+1)的值相等,因此二者的含义是一样的。 (2分) 9. False
10. 用gets函数可以接收一个含有空格的字符串。 (2分) TRUE
若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是___B___。 (2分)
A. i=*p; B. *p=*&j; C. i=&j; D. i=**p; A B C D 2.
有以下程序段
int n=0,p;
do {scanf("%d",&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是____A__。 (2分)
A. p的值不等于12345并且n的值小于3
B. p的值等于12345并且n的值大于等于3
C. p的值不等于12345或者n的值小于3
D. p的值等于12345或者n的值大于等于3
A B C D 3.
若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是___D___。 (2分)
A. p=q; B. *p=*q; C. n=*q; D. p=n; A B C D 4.
有以下程序
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
",c1,c2);
}
程序运行后的输出结果是____A____ (2分)
A. Ab B. aa C. Aa D. Bb A B C D 5.
有以下程序
void ss(char *s,char t)
{while(*s)
{if(*s==t) *s=t-'a'+'A';
s++;
}
}
main()
{char str1[100]="abcddfefdbd",c='d';
ss(str1,c); printf("%s
",str1);
}
程序运行后的输出结果是___B___。 (2分)
A. ABCDDEFEDBD B. abcDDfefDbD C. abcAAfefAbA D. Abcddfefdbd A B C D 6.
为了判断两个字符串s1和s2是否相等,应当使用 (2分) D
A. if (s1= =s2) B. if (s1=s2) C. if ( strcpy (s1,s2)) D. if ( strcmp( s1,s2)= =0 ) A B C D 7.
有如下程序段
int *p,a=10,b=1;
p=&a; a=*p+b;
执行该程序段后,a的值为___B___。 (2分)
A. 12 B. 11 C. 10 D. 编译出错 A B C D 8.
若有定义:int *p[3];,则以下叙述中正确的是____B____ (2分)
A. 定义了一个基类型为int的指针变量p,该变量具有三个指针
B. 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C. 定义了一个名为*p的整型数组,该数组含有三个int类型元素
D. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
A B C D 9.
说明语句"int ( * p ) [] ;"的含义是 (2分) D
A. p是一个指向一维数组的指针变量
B. p是指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
A B C D 10.
已知:char b[ 5 ] , *p=b; 则正确的赋值语句是 (2分) C
A. b="abcd"; B. *b="abcd"; C. p="abcd" ; D. *p="abcd";

就是将一堆空格替换为制表符和空格,一个制表符相当于4个空格,加入给定一个字符串为
"hello world!"
这个字符串中hello和world之间有9个空格,按照你题目的要求,就需要转换为2个制表符+1个空格;这就是最少数量的含义!举个反例,如果你转换为1个制表符+5个空格就错了!!因为这不是最少;如果你转换为1个制表符+4个空格 或 2个制表符 也是错了,因为题目要求你字符之间的间隔不变!
明白了吧!!!!

一、1.4种,=+?:
2.1个
3.f()、g()、p()或q()、+、=
二、用异常捕获应该就可以了,
1、捕获异常时,break(在for或while中搞)
2、捕获异常时,进行相关的操作
三、bc
四、bd

问题太经典啦,要绝对正确的答案很难!

一、1,有三种运算符,分别是‘=’,‘+’,‘? :’2,中间变量一个
g()+f();
3,先执行f()+g(),根据执行的值选择执行问号表达式‘? :’,最后
执 行赋值语句‘=’
二、1,if(f1( )){f2();f3();}
while(1){if(f1( ));else break;if(f2( ));else break;
f3();break;}
三、B
四、B。局部变量可以初始化,但是对于未初始化的系统随机给个值,而全局变量系统默认为0

一、1.此式有3种运算符 分别是"="、"+"、" ?:"
2. 1个中间变量a.因为f( )、g( )、p( )、q( )分别是4个无参函数,a是被赋值的变量.
3.先执行"+",然后" ?:",最后再执行"=".
二、1.if(f1())
f2( );
f3( );
2. if(f1()&f2()&f3()==1)
f1();
f2( );
f3( );
三、b).静态全局变量
c). 全局变量
因为上述两个变量作用于整个源文件,直到程序执行完毕。
四、a)是错误的。使用全局变量时,当全局变量名和局部变量名重合时,以局部变量为准。故不会产生多个结果。
b)是正确的。
c)是正确的。
d)是错误的。全局变量若未初始化,系统会随机赋一个值。

第一题:具体的你自己想 但()是运算符的,是函数调用符。别忘了这个。

一、
1.有4种,=,(),+,?:
2.1个
3.先执行f(),然后g()然后根据g的执行结果执行p()或者q(),最后执行f()+p()(或者q())
二、
1.if(f1())
{
f2();
f3();
}
2.if(f1())
if(f2())
if(f3())
三.c(b选项可以跨越文件了)
四.b(不写在任何函数体内的变量叫做外部变量,也就是全局变量,当其声明后,系统会自动为它初始化,而内部变量即局部变量在声明后,若没有初始化,则系统不会将它自动初始化)

  • 几道关于C语言的题 帮忙解解答一下
    答:第一题:int fibonacci(int n){ if(n == 1||n == 2) return 1; return fibonacci(n-1)+fibonacci(n-2);}第二题:include<stdio.h>int main(){ char a[5][20]; int b[5]; int i = 0,j = 0; for(i = 0;i < 5;i ++){ printf("请输入品牌...
  • 几道简单的C语言编程题,请高手帮忙
    答:} 3、输入三个整数,求其中的最大值并输出。include<stdio.h> void main(){ int a,b,c;printf("输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)printf("最大值为:%d",a);else if(b>a&&b>c)printf("最大值为:%d",b);else printf("最大值为:%d",c);} ...
  • 几道C语言选择题目,大家帮帮忙啊!!
    答:4、这个题本人也不会,不好意思,只能排除法选了;呵呵 5、三十二个关键字楼上的老兄已经给出了,好好看看吧;6、a/(b*c)就是a除以b和c乘积,不就等于a除以b再除以c吗?这不用书上讲解,我们也应该能看出来,看到不熟悉的题不要慌,好好分析,其实他们并不是你想的那样难;哈哈 c语言快...
  • 几道C语言题,帮下忙
    答:非的的优先集大于算术运算 ==的优先集小于算术运算 &&和||优先集小于算术运算 所以第一题相当于 !(x+y)+z-1=(!(x+y))+z-1=0+5-1=4 y+z/2=4+5/2=4+2=6 所以得到 4&&6.所有非0整数的逻辑值为1.。所以又相当于1&&1 因此最终结果为1.15%3=0.所以直接执行case 0;m++;m...
  • 高人帮帮忙,做几道C语言的习题!!!
    答:3:C语言规定,数组名做实参时,它和对应形参之间的数据传递方式是:_3__1.用户指定传递方式 2.无传递 3.单向值传递 4.地址传递 4:以下有关宏替换的叙述不正确的是(4)。1.宏替换不占用运行时间 2.宏名无类型 3.宏替换知识字符替换 4.宏名必须用大写字母表示 5:若希望当A的值为奇数时,...
  • 请C语言高手帮忙做几道选择题(能解析一下最好),急~~!
    答:2、while语句的循环体不能是复合语句(错)3、同一数组中可以储存不同类型的值(错)4、不能用运算符==和!=来比较结构(对)5、在C语言中,函数可以递归调用和递归定义(错)6、静态外部变量只限于本文件中使用(错)7、break语句可用于程序的任何地方,以终止程序的执行(错)8、若有一个多维...
  • 有关C语言的几道题,求答案及解释
    答:1、题目倒数第二句改为“输入字符A后”的话,ch的值是'A',getchar()是从标准输入流读取一个字符,并返回这个字符,赋值给了ch,所以ch的值就是你输入的那个字符,你输入A,它的值就是A 2、暂时还不是很明白,C和D都能在win-tc下编译通过,值都存在变量str3,和str4里面,可以通过printf("...
  • C语言几道多项选择题,请大家帮忙解答一下。
    答:2.ABC A a(1,2)数组的引用根本没有()B a[1,3]即a[3],不符合二维数组 C a[2][0]数组的行越界,行的取值是0,1,取不到2 //注意:此题的D选项是绝对正确的,相当于a【0】【0】3.CD 打开文件的方式是:FILE *fp;fp=fopen(文件名,使用文件方式);AB的使用方式不...
  • 几道C语言题目,答案我已经给出,我要过程!!谢谢~~会哪题写哪题的吧~~
    答:1.++a的值是2,2>0,因此(++a||++b&&++c)>0不再执行后面的语句 b的值没有变化 2.if(x>y)不成立,因此z=x;没有执行。只执行了x=y; y=z 3。把a,b的ASCII码进行了输出 4.switch(x)中的case1没有break语句。执行语句是从x的case1到y的case0,然后x的case2。5.x--在使用时得到...
  • 有几道C语言题请大家帮我解答一下,各位哥哥姐姐帮帮忙啊!小弟感激不...
    答:1. 变量名 2. 逗号表达式,其值取最后一项。78/5 = 15(小数部分不要)3.选A,--x相当于x=x-1;4.321。求余运算 5.printf("格式控制", [输出参数1,...])scanf("格式控制", [&输入参数1,...])6.没题目