108.下面程序段中,输出的“*”的个数是( )。 char *s= "\039\tcac"; for( *s !=

作者&投稿:逯巩 (若有异议请与网页底部的电邮联系)
108.下面程序段中,输出的“*”的个数是( )。 char *s= "\039\tcac"; for( *s !=~

5个;另外程序的for循环不对,是没贴全吧。字符串分割为‘\039' '' 'c' 'a' 'c';但是跟编译器有关,gcc编译出来是6个,区别在于对'\039'的认识。

1 #include
2 main()
3 { float s[5];
4 int I,sz=0;
5 for(I=0;I<5;I++)
6 scanf("%d",s+I);
7 for(I=0;I<5;I++)
8 sz+=s[I];
9 printf("
%f",(float)sz);
10 }
A) 没有错误
B) 第4行错误
C) 第6行错误
D) 第9行错误
C s数组是实型,不能用整型输入

下列合法的数组定义是( )。
A) int a[]="string";
B) int a[5]={0,1,2,3,4,5};
C) char a="string";
D) char a[]={0,1,2,3,4,5};
D A.a[]是整形不对 B.有6个元素 C若是char a[]="string"; 就对了

以下程序段给数组所有的元素输入数据,请选择正确答案填入( )。
#include
main()
{
int a[10],i=0;
while(i<10)
scanf("%d",______);
}
A) a+(i++)
B) &a[i+1]
C) a+i
D) &a[i++]
D AC显然不对 B没有输入a[0]的值

设有:
static char str[]="Beijing";
则执行:
printf("%d
",strlen(strcpy(str,"China")));
后的输出结果为( )。

A) 5
B) 7
C) 12
D) 14
A strcpy为字符串拷贝函数 strlen为字符串统计函数

阅读下面的程序
main()
{
inn[2],I,j,k;
for(I=0;I<2;I++)
n[I]=0;
k=2;
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
printf("%d
",n[k]);
}
上面程序的输出结果是( )。
A) 不确定的值
B) 3
C) 2
D) 1
题有问题
for(I=0;I<2;I++)
n[I]=0;
初始化n[0],n[1]为0
4次循环
for(I=0;I<k;I++)
for(j=0;j<k;j++)
n[j]=n[I]+1;
得n[0]=3,n[1]=4执行
printf("%d
",n[2]); n[2]本身就不对,越界了

定义如下变量和数组:
int I;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是( )。For(I=0;I<3;I++)
printf("%d ",x[I][2-I]);
A) 1 5 9
B) 1 4 7
C) 3 5 7
D) 3 6 9
A I=0输出(0)(2)=3,I=1输出X(1)(1)=5,I=2输出X(2)(0)=7

若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是( )。
A) a[g-c]
B) a[4]
C) a['d'-'c']
D) a['d'-c]

D A是不确定的值,B得5,C得2

Printf("%d
",strlen("\"\065\xff
));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出
A 有5个逃逸字元
水平制表符Tab
\" 双引号
\065 以8进制表示的5
\xff 以16进制表示的无名字符。打印出来显示为占两个字符位的空格

换行符

若有以下定义和语句:
char s[10];
s="abcd";
printf("%s
",s);
则输出的结果是( )。

A) 输出abcd
B) 输出a
C) 输出abcd
D) 编译不通过
D 字符串不能负值给地址应为s[]="abcd";


下述程序输出的结果是( )。
#include
main()
{
char ch[7]={"65ab21"};
int I,s=0;
for(I=0;ch[I]>='0'&&ch[I]<='9';I+=2)
s=10*s+ch[I]-'0';
printf("%d
",s);
}
A) 12ba56
B) 6521
C) 6
D) 62
C 第一次ch[0]=6第二次ch[2]=a跳出 s=6


下述函数引用中,( )是含有错误的。其中s的定义如下:
char s[10];

A) scanf("%10s",s);
B) printf("%.5s",s);
C) puts(s+3);
D) gets(s);
C 若字符串s[10]只有一个字符 如a \0,s+3指向的s[3]未分配内存

定义如下数组s:
char s[40];
若准备将字符串“This is a string.”记录下来,( )是错误的输入语句。
A) gets(s+2);
B) scanf("%20s",s);
C) for(I=0;I<17;I++)
S[I]=getchar();
D) while((c=getchar())!='
')
s[I++]=c;
C 只是输入This is a string.没有输入

这问题本身写错了。照所写的程序,是不能通过编译的,根本就不能运行。
若是 char *s= "\039\tcac"; for( ;*s !='\0'; s++ ) printf(" * ");
则运行后会输出6个“*”。
因为s中包含6个字符(每行一个):
'\03'
'9'
'\t'
'c'
'a'
'c'


在下面的程序段中,对x的赋值语句的频度为( )。 for(i=1;i<=n;i++...
【答案】:C 频度是指算法中某一语句执行的次数,是一个精确值。因此选项C改为n2更合适。

下面的程序段中循环体运行的次数为什么是4次 a=10; b=0; do{ b+=2...
答案应该是3次。不信你可以复制以下程序试试:(输出几个1就是几次循环)include <iostream> using namespace std;int main(){ int a=10,b=0;do{ b+=2; a-=b+2;cout<<"1";} while(a>=0);system("pause");return 0;} 原因:b+=2的意思是b=b+2,每次循环b加2.“+”的优先级...

下面的每个程序段中,假定线性表La的类型为List,元素类型ElemType为int...
第一个TraverseList(La);输出的结果为La=(26,34,57,79,100);第一个TraverseList(La);输出的结果为La=(57,79,100,34);第一个TraverseList(La);输出的结果为La=(79,34,57,26,100);其中:Insert 就是将一个新元素插入线性表,使得插入后的结果有序 InsertFront 就是将一个新元素...

分析下面程序段中带@的语句频度和算法的时间复杂度。 For(i=0;i<n...
for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j];语句频度是m*n次 算法时间复杂度是O(m*n)

C语言练习题
9.下面程序段中循环体的执行次数是__3___。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);10.下面程序段的运行结果是___**___。x=2;do{{printf(‘*’);x--;}while(!x==0);11.下面程序段胡运行结果是__a=-5___。i=1; a=0; s=1;do{a=a+s*I; s=-s; i++;}...

[c]下面程序段中,for循环的执行次数是
6次,你的字符串中总共有6个字符:'\\t', 'a', '\\01'(这个字符是用8进制表示的,注意不可能是'108'的,8进制最大的数字是7), '8', 'b', 'c'你可以用下面这个程序具体执行看一下:include <stdio.h> int main(void){ char *s = "\\ta\\018bc";for(; *s!='\\0'; s++) { ...

下面程序段中,输出“*”的个数为
和上面的一样!是6个星!\\t 表示水平制表符 a \\01 表示八进制值 8 b c

关于VB的题~~求人解答~~
6.表示x既是5的倍数又是10 的倍数的逻辑关系表达式 ( x mod 5 = 0 ) and ( x mod 10 = 0) 。6.Vb也提供了三种基本结构,三种基本结构是 。顺序,分之,循环 7.下面程序段中,第2条语句执行 4 次,第3条语句执行 12次。1:for i=1 to 12 step 3 2: for j...

下面程序段中,第2条语句执行 次,第3条语句执行 次
20次

高手帮忙,VB,100分~~~
1 4 4 2 3 3 3 1 1 2 1 4 4 1 1 回答完毕 请亮分!!~~!

白塔区19263476916: 108.下面程序段中,输出的“*”的个数是( ). char *s= "\039\tcac"; for( *s != -
游贱坤宁: 这问题本身写错了.照所写的程序,是不能通过编译的,根本就不能运行.若是 char *s= "\039\tcac"; for( ;*s !='\0'; s++ ) printf(" * "); 则运行后会输出6个“*”.

白塔区19263476916: 下面程序段中,输出*的个数是
游贱坤宁: 输出二个*,*s指针,指向一定地址,相当于数组名,for(;*s!='\0';s++)意为从这个指针开址开始读,读到'\0'这个字符结束.注意'\0'是个字符,原因请看C的转义字符序列,那么'\0'这个前面有几个字符哪,二个\t,a;\t也只是个字符,比如\b就是退格字符,这是转义字符.所以输出是二个*;这种问题回答真是吃力不讨好啊.

白塔区19263476916: 下面程序段中,输出*的个数是? -
游贱坤宁: char *s="\ta\018bc"; for(;*s!='\0';s++)printf(" * "); /*\0后是单引号哈*/ (如果代码就这样是一个*也打不出来的...HOHOHO) “\ta\018bc”这是个字符串,一共有6个有效字符('\t','a','\01'(\ooo,ooo是八进制数),'8','b','c')和1个'\0',对吧,也...

白塔区19263476916: 以下程序段,输出“*”的个数为( ) int i,j; i=0;j=0; while(i+ -
游贱坤宁: while(i++

白塔区19263476916: 35)下面程序段中,输出*的个数是 char *s="\ta\018bc"; for(;*s!='\0';s++)printf("*"); A)9 B)5 C)6 D)7 -
游贱坤宁: 这是转义字符的规定哦,如下: \ddd 任意字符 三位八进制 \xhh 任意字符 二位十六进制 也就是说反斜杠最多可以和后面的三个数字组成一个字符,而反斜杠+ 'x' 最多可以和后面的两个十六进制符号组成一个字符.

白塔区19263476916: 在Visual Basic中,下列循环程序段输出“*”的个数最小的是( )
游贱坤宁: A选项,a=5,6,7时都会打印*,a=8时,退出循环,有3个* B选项,先打印一个*,然后a=6&lt;8,退出循环,有一个* C选项,b本来就大于a,一直循环到a&gt;b才停止,所以这个程序会有无数的* D选项,a=5,6,7,8都是符合的,有四个* 你要分清楚do while是大概条件满足的时候循环 do until 则是但条件满足的时候就退出循环. do的话至少都会循环一次.

白塔区19263476916: C语言~下面四个程序段中,不能输出23个*号的程序段的是 - -- -
游贱坤宁: for (int i=0;ifor (int j=23;j>0;j++) putchar('*') // 无数个'*' int k=23;while (k>0) {putchar ('*');k--;} // 23个'*' int i=0; while (i>23) {putchar('*');i++;} //一个都没有

白塔区19263476916: C语言 以下程序段的输出结果是多少?? -
游贱坤宁: 第一个是100 var 取b得地址 所以*var = b = 100 , 所以b = 110, 所以*var = 110 第二个,因为== 的优先级高于=的优先级,所以先执行 getchar == 'A', 输入A后,二者相等,返回1 所以ch = 1 p = a ,就是取a数组的第一个元素的地址,所以*p = a[0] = 5;*p++ 这儿优先级相等,结合性为从右至左,且p++只在表达式结束后才自增, 所以就等于*p++ = a[0] = 5 同理和上面一样, ++会在表达式结束后自增,(*p)++ = a[0]++ = 5

白塔区19263476916: c 语言 下面程序的输出是 :A) 60 B) 68 C) 99 D) 108
游贱坤宁: 答案为:A 程序的意思是求:a[0][0]+a[0][1]+a[1][0]+a[1][1]+a[2][0]+a[2][1]的和,即: 求:1+3+9+11+17+19的和,和为:60.

白塔区19263476916: c语言中 char s[ ]="\\\101abc\0";printf("%s\n", s);;下面程序段的输出结果是 -
游贱坤宁: 输出的结果:\Aabc 为什么输出这个,是因为: 1. \\ 代表一个反斜线字符''\' 2. \101 代表的是101是一个整数,在printf时就会输出这个整数的 ASCII字符,即'A'

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网