帮忙看几道C语言选择题~谢谢啦

●有以下宏定义,则表达式SI(3)的值是()
#ifdef PI
#define SI(R) R*R
#else
#define SI(R) R+R
#endif
(A) 3 (B)6 (C) 9 (D)27
知识点:宏

●如果 int a = 1 , b = 2 则 a > b ? a : b的值是()
(A)1 (B)2 (C)3 (D)4
知识点:问号表达式

●以下代码的运行结果是()
int sum = 0;
for(int i=1;i<10;i++,i++,i++) sum=sum+i;
printf("%d",sum);
(A)1 (B)5 (C) 12 (D)22
知识点:简单循环,注意细节

●以下代码的循环次数是()
for(int i=1;i<10;i++)
{
printf("%d",i);
}
(A)10 (B)9 (C) 8 (D)不循环
知识点:循环次数,注意开始和结束

●以下代码的运行结果是()
void set(int b)
{
b = 10;
}
void main()
{
int a=5;
set(a);
printf("%d",a);
}
(A)10 (B)5 (C) 15 (D)0
知识点: 函数参数,传值,传址

●下面程序的功能是将字符串s中所有的字符c删除。请选择填空。
# include < stdio.h >
main ( )
{
char s[80];
int i, j;
gets(s);
for (i=j=0 ; s[i]!=’\0’; i++)
if (s[i]!=’c’) _________________;
s[j]=’\0’;
put(s);
}
(A) s[j++]=s[i] (B) s[++j]=s[i]
(C) s[i]=s[j]; (D) s[j]=s[i]
知识点:字符串处理

●下面判断正确的是 ( )
A) char *a ="china”; 等价于char *a;*a =”china”;
B)char str [10]= {“china”};等价于char str[10]; str[] = “china”;
C) char *s=”china”;等价于char *s; s =”china”;
D)char c[4]=”abc”,d[4]=”abc”;等价于char c[4] = ”abc”;d=c;
知识点:基本概念

●下面程序段的运行结果是 ( )
char a[] = "abcdefgh";
char *p=a;
p+=3;
p=strcpy (p,"ABCD");
printf ("%d \n ", strlen (p));
(A) 8 (B) 12 (C) 4 (D) 7
知识点:函数调用及函数功能

●为了判断两个字符串s1和s2是否相等,应当使用 ( )
(A)if (s1= =s2 ) (B)if (s1 = s2 )
(C)if ( strcpy (s1, s2 ) ) (D)if ( strcmp ( s1, s2) = = 0 )
知识点:条件表达式

●对下面是关于结构变量a的定义,正确的叙述是( )
struct student
{ int a;
int garde[3];
} a={35,{89,78,90}};
(A)结构体变量a与结构体成员a同名,所以定义是非法的
(B)结构体中成员类型不可以是数组,所以定义是非法的
(C)如果int类型是占2个字节的存储单元,则结构体变量a有8个字节的存储单元
(D)结构体变量定义时不能初始化,所以定义是非法的
知识点:结构体

●下面的程序输出结果是( )
#define M 2
#define N M+5
#include"stdio.h"
void main( )
{ printf("%d",N*N/2); }
(A)24 (B)21 (C)8 (D)14
知识点:宏

●若有float a=1.5,b=3.5, *pa=&a; *pa*=3;pa=&b; 则正确的是( )
(A)pa的值是1.5 ; (B)*pa的值是4.5
(C)*pa的值是3.5 (D)pa的值是3.5;
知识点:指针

  有以下宏定义,则表达式SI(3)的值是(A)
  #ifdef PI
  #define SI(R) R*R
  #else
  #define SI(R) R+R
  #endif
  (A) 3 (B)6 (C) 9 (D)27
  直接执行ifdel语句else部分不执行,执行完遇到endif就结束
  如果 int a = 1 , b = 2 则 a > b ? a : b的值是(B)
  (A)1 (B)2 (C)3 (D)4
  考察选择语句:a>b?a:b 如果a>b成立则值为a 否则为b
  ●以下代码的运行结果是(C)
  int sum = 0;
  for(int i=1;i<10;i++,i++,i++) sum=sum+i;
  printf("%d",sum);
  (A)1 (B)5 (C) 12 (D)22
  for语句里的i++,i++,i++相当于i+=3,所以可得
  以下代码的循环次数是(B)
  for(int i=1;i<10;i++)
  {
  printf("%d",i);
  }
  (A)10 (B)9 (C) 8 (D)不循环
  考察FOR语句,很简单不想讲了,自己去看书去看for语句的执行规律就明白了
  以下代码的运行结果是(B)
  void set(int b)
  {
  b = 10;
  }
  void main()
  {
  int a=5;
  set(a);
  printf("%d",a);
  }
  (A)10 (B)5 (C) 15 (D)0
  考察函数调用的 从main函数开始也从main函数结束 main函数中a=5 调用set后b=5 返回main a就=5
  # include < stdio.h >
  main ( )
  {
  char s[80];
  int i, j;
  gets(s);
  for (i=j=0 ; s[i]!=’\0’; i++)
  if (s[i]!=’c’) ___D______________;
  s[j]=’\0’;
  put(s);
  }
  (A) s[j++]=s[i] (B) s[++j]=s[i]
  (C) s[i]=s[j]; (D) s[j]=s[i]
  问的题目都太基础了,回答不下去,基础不扎实,再去看书,看不懂的话,去图书馆接些工具书辅助一下
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言 选择题
1、调用strlen(”abcd\Oef\0g“)的返回值为( A )。strlen不返回NULL 2. 若有以下语句,则正确的描述是( c)。3. 设有数组定义:char array[]=”China”;,则数组array所占的空间为( C )。在开拓存储空间是时候有一个null,这要算进去 4. 下列程序执行后的输出结果是( A)。printf函数...

四道初级C语言题目 哪位好心人帮我做下 谢谢啦
第一题,1空s[i]!='\\0',2空j++ 第二题 for( i = 0; i < 10; i++)s=s+sqrt( ( x[i] - 1 )* (x[i] - 1 ) + ( y[i] * y[i] ) );第三题 1空 sum =pst->math+pst->english+pst->computer,2空&st[i]第四题sum=0;for( i=0; i<10; i++) if( a...

C语言高手帮忙做这三道题,要详解 谢谢拉!!
2、C 这题和上题一样,就是(m)表达式为真时,执行a++;为假时,执行a-。表达式m的真假与表达式m!=0一样,所以选C。3、C define是宏定义,这里的效果就是把s(m,n)替换成m\/n,所以s(4+2,2+1)进行替换后就成了4+2\/2+1=4+1+1=6。所以选C ...

劳驾各位了,帮忙看一下C语言的题目,比较基础
楼上的搞笑,第一题对的是D。就因为它太绝对化了!你觉得C函数可以嵌套吗?!不过第29题我也觉得选C,因为真的没有理由反对它。。

各位c语言程序高手,我这有套题需要你们来解答,谢谢啦~!
选择题 8、一下描述不正确的是(C)A、实用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成 B、while循环是先判断表达式,后执行循环语句 c、do-while和for循环均是先执行循环语句,后判断表达式 D、for、while和do-while循环中的循环体均可以由空语句构成 9、有如下函数调用语句...

c语言问题int a=5,b=6,c=7,b>a&&c++ 结果为1,解析是这样说的,因为b>a...
姐们,你考二级呢吧。这个问题很简单啊。题目的意思是说:b>a&&c++这个表达式最后的值。b>a是true,c++比0大,所以也是true。所以最终的结果也是true。而c语言里面逻辑表达式为true就表示值为1。综上可知,结果为1。补充一点:它说的是表达式的值,而不是c的值 ...

C语言省考题: 1、'A'*'B'是合法的 2、"A"+"B"是不合法的。 求解这两...
'A'*'B'其实就是两个整形数相乘,因为字符A会转换成A的ASCII码65 B会转成66,所以就是65*66。你可以这么验证printf("%d",'A');看结果就明白了 而 "A"+"B"实际上也是有的,不过C语言不支持字符串连接,到C#之类的语言+作为连接符,C语言里这样写就是非法了。

求几题c语言题目答案及详细解释,谢谢啦!
c--后就是4 3.c;首先我们知道指针变量的值就是地址,要是给指针变量赋值要加&;A.p1=&m;p2=&p1; p2=&p1这里错误,应为p2=p1 B.P1=&m;P2=&N;*P1=*P2;这句有危险:*P1=*P2;关于什么危险一句也解释不清楚,要是相知道的话,在联系我。D.p1=&m;*p2=*p1 ;和B原因一样 ...

C语言的几道习题
5)D '>>'优先级高于'^',先计算b>>2 为0 然后2^0==2 即D 6)(m\/10)%10 7)A 8)7 a++为真 ,跳过b++ 直接执行a+=1 9)15>=a&&a<=10||a<=0 10)A 11)D (与3题重复)12)0 先执行z*=1+2,则z==18;在执行z\/=2,则z==9;执行z*=z,则z==81;执行z-=z,则z==0...

备考时碰到的C语言程序题!!!(急~~~) 选择哦^o^
} A.1010 B.1212 C.1110 D.1113 2.以下程序的输出结果是( )define是直接替换进去,所以展开以后就是5.5*a+b*a+b 故选B 9.5 define PT 5.5 define S(x) PT*x*x main(){ int a=1,b=2;printf("%4.1f\\n",S(a+b));} A.49.5 B.9.5 C.22.0 D.45.0 3.以下程序...

相似回答