以下程序统计从终端输入的字符中大写字母的个数。用号作为输入结束标志,请填空。

题目

以下程序统计从终端输入的字符中大写字母的个数。用号作为输入结束标志,请填空。


相似考题
参考答案和解析
正确答案:
更多“ 以下程序统计从终端输入的字符中大写字母的个数。用号作为输入结束标志,请填空。 ”相关问题
  • 第1题:

    以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错。 #include<stdio.h> main() { FILE *fout; char ch; fout=fopen('abc.txt','W'); ch=fgetc(stdin); while (ch!='#') { fputc (ch,fout); ch=fgetc(stdin); } fclose (fout); } 出错的原因是( )。

    A.函数fopen调用形式错误

    B.输入文件没有关闭

    C.函数fgetc调用形式错误

    D.文件指针stdin没有定义


    正确答案:A
    解析:stdin是标准输入设备的文件指针,不须定义直接可以使用,它随系统的启动而打开,随系统的关闭而关闭,fgetc()函数的作用是从某个文件中读取一个数据,其参数为要读取文件的文件指针,所以本题中的调用形式是正确的。fopen()函数有两个参数,第一个参数是打开的文件名,第二个参数是文件打开模式,两个参数都是字符串,本例中“fout=fopen('abc.txt','w');”语句的fopen()函数参数是错误的,应该用双引号"",正确的应改为“fout=fopen("abc.txt","w");”。所以,A选项为所选。

  • 第2题:

    下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 Int n=0, ch; Ch=getchar( ); While( __________________ ) { if ( ________________ ) n++; c=getchar( ); }


    正确答案:
    ch!=’\n’ch>=’0’ch<=’9’

  • 第3题:

    以下程序的功能是从键盘上输入若干个数字,当输入负数时结束输入,统计出若干数字的平均值,显示结果。请填空。

    Private Sub Form_Click()

    Dim x,y As Single

    Dim z As Integer

    x=InputBox("Enter a score")

    Do while【 】

    y=y+x

    z=z+1

    x=InputBox("Enter a score")

    Loop

    If z=0 Then

    z=1

    End If

    y=y/z

    MsgoBox y

    End Sub


    正确答案:√
    1 解析:在Day(date)中date是必要的参数,可以是任何能够表示日期的Variant、数值表达式、字符串表达式或它们的组合,如果date包含Null,则返回Null。
    weekday(date)返回一个Variant(Integer),包含一个整数,代表某个日期是星期几。
    其语法为
    Weekday(date,[firstdayofweek])
    firstdayofweek指定一星期中第一天的常数。如果未予指定,则以vbSunday为默认值,即星期日为1,则星期六为7。

  • 第4题:

    以下程序试图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符串#号时结束输入和输出操作,但程序有错 #include<stdio.h> main() { FILE*fout; char ch; fout=fopen('abc.txt','w'); ch=fgetc(stdin); while(ch!='#') { fputc(ch,four); ch=fgetc(stdin); } fclose(fout); } 出错的原因是______。

    A.函数fopen调用形式错误

    B.输入文件没有关闭

    C.函数fgetc调用形式错误

    D.文件指针stdin没有定义


    正确答案:A
    解析:本题考查的是文件的打开函数fopen(),其调用方式通常为FLIE*fp;fp=fopen(文件名,使用文件方式);,如:fp=fopen("abc.txt","w");表示要打开名字为abc.txt的文件,使用文件方式写入。fopen函数带回指向abc.txt文件的指针并赋给fp,即fp指向文件abc.txt。

  • 第5题:

    以下程序企图把从键盘终端输入的字符输出到名为abc.txt的文件中,当从终端读到字符'#'时,结束输入和输出操作。但该程序有错。 #include <iostream> #include <fstream> using namespace std; int main() { ofstream ofile; char ch; ofile.open("d:\\abc.txt", 'W'); do{ cin>>ch; ofile.put(ch); }while(ch!='#'); ofile.close(); return 0; } 程序出错的原因是( )。

    A.成员函数open调用形式错误

    B.输入文件没有关闭

    C.成员函数put调用形式错误

    D.对象ofile定义错误


    正确答案:A
    解析:本题考核文件的打开。C++中,可以在定义文件流对象的同时打开文件,也可以在定义文件流对象以后用open()函数打开文件。可以通过构造函数或open函数的第2个参数,确定文件的打开模式。打开模式用下列常量表示:ios_base::app为添加数据而打开(总是在文件尾部写);ios_ase::binary作为二进制文件打开:ios_ase::in为输入而打开:ios_ase::out为输出而打开;ios_base::tmnc若文件存在,截为空文件;ios_base::ate打开时定位于文件尾。题中成员函数open()的第2个实参不符合C++的打开模式,所以产生调用错误。

  • 第6题:

    程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。请改正错程序中的错误。如输入:abcDEFGH123输出:5


    /**/charstr1[128];/**/
    /**/sum++;/**/

  • 第7题:

    给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!试颖程序.


    正确答案:
    (1)a=0,b=0,k(2)(k!=O)(3)scanf(”%d”,&k)【考点分析】主要考察考生对循环结构的理解。【解题思路】填空1:a=0,b=0,k下面的scanf函数用到变量k,需要提前定义,在while循环中使用了临时存放正负数个数的变量a,b,因此也要提前定义。填空2:(k!=0)根据题意,输入0时结束程序,因此当k!=0时进入循环记录正负数的个数。填空3:scanf(”%d“,&k)需要不断从终端输入整数,因此在循环体内添加输入操作。

  • 第8题:

    以下程序的功能是:对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。


    正确答案:

  • 第9题:

    下面程序把从终端读入的文本(用@作为文本结束标志)复制到一个名为bi.dat的新文件中。请填空。


    正确答案:

  • 第10题:

    编程:写一函数,统计输入一个字符串中字母的个数。


    正确答案: int isalpha(char c){c>='a'&&c<='z'‖c>='A'&&c<='Z')
    return(1);else return(0);}
    main(){int i,num=0;
    char str[255];
    printf("INput a string:");
    gets(str);
    for(i=0;str[i]!="/0';i++)
    if(isalpha(str[i]))num++;
    puts(str);
    printf("num=%d/n",num);
    }

  • 第11题:

    问答题
    编一个程序,从键盘输入一个字符串,用foreach循环语句,统计其中大写字母的个数和小写字母的个数。

    正确答案: strings;
    intn1=0,n2=0;
    Console.WriteLine("请输入一个字符串");
    s=Console.ReadLine();
    foreach(charcins)
    {
    if(c>=’A’&&c<=’Z’)
    n1++;
    elseif(c>=’a’&&c<=’z’)
    n2++;
    else
    continue;
    }
    Console.WriteLine("大写字母有{0}个,小写字母有{1}个",n1,n2);
    解析: 暂无解析

  • 第12题:

    填空题
    在Word2003中,字符的输入从插入点的位置开始从()依次输入.

    正确答案: 从左向右
    解析: 暂无解析

  • 第13题:

    以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include main(){ FILE *fout; char ch;fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){ fputc(ch,fout);ch =fgetc(stdin);}fclose(fout);} 出错的原因是

    A.函数fopen调用形式有误

    B.输入文件没有关闭

    C.函数fgetc调用形式有误

    D.文件指针stdin没有定义


    正确答案:A

  • 第14题:

    以下程序的功能是,从键盘上输入若干学生的成绩,统计并输出最高分数和最低分数,当输入负数时结束输入,请填空。

    Private Sub Command1_C1iek()

    Dim x As Single

    Dim amax As Single,amln As Single

    x=InputBox("请输入分数")

    amax=x

    amin=x

    Do While【 】

    If x>amax Then

    amax=x

    End If

    If【 】Then

    amin=x

    End If

    x=InputBox("请输入分数")

    Loop

    Print amax,amin

    End Sub


    正确答案:x>=0或Not x0 xamin或Not x>=amin
    x>=0或Not x0 , xamin或Not x>=amin 解析:本题主要是对求最值算法的考查。题中要求当输入负数时结束输入,可知控制程序的条件应是输人数x必须大于等于0。用语句表示应为x>=0或Not x0。程序中用变量amin存放最低分,又因为语句amin= x,则可推断出x值比初始化时的最低分要小的条件。故条件表达式应写成xamin或 Not x>=amin。

  • 第15题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

    给定函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用“.”结束输入。

    【函数】

    int fun(char *c,int status)

    {

    if((1)=='')

    return 1;

    else

    {

    if((2)&&(3)&&(4))

    (5)='A'-'a';

    return 0;

    }

    }

    main()

    {

    int flag=1;

    char ch;

    printf("请输入一字符串,用点号结束输入!\n");

    do {

    ch=getchar();

    flag=fun(&ch,flag);

    putchar(ch);

    }while(ch!='.');

    printf("\n");

    }


    正确答案:(1)*c (2)status (3)*c='z' (4)*c>='a' (5)*c+
    (1)*c (2)status (3)*c='z' (4)*c>='a' (5)*c+ 解析:本题考查在C语言中对字符串的处理。
    题目要求程序将从键盘上输入的每个单词的第一个字母转换为大写字母,而输入的各单词必须用空格隔开,用“.”结束输入。要实现这个功能,关键之一在于如何取出单词中的第一个字母,关键之二是如何实现大小写字母的转换。
    第(1)空是一个条件判断语句的条件,如果条件成立,则返回1,而从程序中可以看出,此条件判断语句是判断当前取到的字符是否等于空格字符。从主函数中可以看到,每次在调用功能函数fun()前都从输入的字符串中取出一个字符,并存放在变量ch中,而在调用函数时是将变量ch的地址传递给了指针变量c,因此此空的答案为*c。
    第(2)空、第(3)空和第(4)空应该结合起来看,它们都是条件判断语句的条件,这个条件判断语句下面的程序是将一个小写字母改变成一个大写字母,根据题目要求,此条件判断语句的条件应该是判断当前取到的字母是一个单词的第一个字母且是一个小写字母,再结合主函数来看,我们不难发现单词的第一个字母用一个标记变量flag标识,如果是第一个字母,这个标记变量flag的值为1,否则为0。要判断一个字母是否是小写字母,应该判断其ASCⅡ码值是否在a与z的ASCⅡ码值之间。所以这3个空的答案应该分别为status、*c='z'、*c>='a'。
    第(5)空是在上面条件成立的情况下执行的一条语句,条件成立我们在上面已经分析过了,表明当前取到的字符是一个单词的第一个字母且是小写字母,此空所在语句的任务是将小写字母变成大写字母,根据上面的分析,因此可以得到此空答案为*c+。

  • 第16题:

    以下程序的功能是:通过函数func 输入字符,并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。#include <stdio.h>long ; /* 函数说明语句 */main(){ long n; n=func(); printf("n=%ld\n",n);}long func(){ long m; for( m=0; getchar()!=’@’;); retum m;}


    正确答案:func(),m++
    本题考查函数的声明及对函数功能的理解。题目中的程序可以分为两个部分,一个为主函数main,另一个为func函数。C语言中如果使用用户自定义的函数,并且该函数与调用它的函数在同一个文件中,则需要在主调函数中对该函数进行声明。如果被调用的函数在主调函数之前,则可以不必加以声明。如果在所有的函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必对所调用的函数再进行声明。题目中既没有在main函数之前对func函数进行定义,在main函数中也没有对func函数的声明,故要在所有的函数定义之前对func函数进行声明。第一个填空是对函数声明语句的补充,填入func()。第二个填空是在func函数的循环变量增值处,通过该函数能够输入字符,并对输入的字符进行字数统计。func函数用m的值作为字符个数的统计值并返回,而m是for语句中的循环变量,初始为0,循环条件为一个表达式getchar,每次输入一个字符,只要不是’@’,则继续循环调用for语句,循环变量增值处应该填入能反映m的值发生变化的语句,m是对字符个数的统计量,必然随着输入的合法字符数量增多而变大,应填入语句m++。

  • 第17题:

    补充程序Ccon022.C,使其实现输入若干整数,统计其中大于零和小于零的个数,输入零结束。


    /**/a=b=0;/**/
    W.hile(/**/n!=0/**/)
    E.lse/**/b++;/**/

  • 第18题:

    给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和Write"Fext实现。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)*fw (2)str (3)str
    (1)*fw (2)str (3)str 解析:本题要求是把一段文本写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。主要是文件操作以及fbuts和fgets函数的使用。

  • 第19题:

    从键盘输入一组小写字母,保存在字符数组str中。请补充函数proc(),该函数的功能是:把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。例如,输入abcdefg,输出aBcDeFg。

    注意:部分源程序给出如下。

    请勿改动main()函数和其他函数中的任何内容,仅在函数proe()的横线上填入所编写的若干表达式或语句。

    试题程序:


    正确答案:


    【解析】要将字符串中所有下标为奇数的小写字母转化为大写字母,应该检查字符串str中从第一个到最后一个字符,判断其下标是否为奇数,因此【l】填“str[i]!=ˊ\0ˊ”。每找到一个下标为奇数的小写字母。就将其转换为大写字母,大写字母的ASCⅡ码值比与其对应的小写字母小32,因此【2】填“32”。每判断完一个字符,要为检查下一个字符做准备,因此【3】填“i++”。

  • 第20题:

    下面程序的功能是:从输入的正整数中选3个数进行输出,要求这些数都是2的倍数,请填空。


    正确答案:

  • 第21题:

    编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。


    正确答案: charch,c;
    Console.WriteLine("请输入一个字符");
    ch=char.Parse(Console.ReadLine());
    if(ch>=’A’&&ch<=’Z’)
    {
    c=(char)(ch+32);
    Console.WriteLine("字符{0}为大写字母,转换为小写字母为{1}",ch,c);
    }
    elseif(ch>=’a’&&ch<=’z’)
    {
    c=(char)(ch-32);
    Console.WriteLine("字符{0}为小写字母,转换为大写字母为{1}",ch,c);
    }
    else
    Console.WriteLine("{0}既不是大写字母也不是小写字母",ch);

  • 第22题:

    编一个程序,从键盘输入一个字符串,用foreach循环语句,统计其中大写字母的个数和小写字母的个数。


    正确答案: strings;
    intn1=0,n2=0;
    Console.WriteLine("请输入一个字符串");
    s=Console.ReadLine();
    foreach(charcins)
    {
    if(c>=’A’&&c<=’Z’)
    n1++;
    elseif(c>=’a’&&c<=’z’)
    n2++;
    else
    continue;
    }
    Console.WriteLine("大写字母有{0}个,小写字母有{1}个",n1,n2);

  • 第23题:

    问答题
    编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。

    正确答案: charch,c;
    Console.WriteLine("请输入一个字符");
    ch=char.Parse(Console.ReadLine());
    if(ch>=’A’&&ch<=’Z’)
    {
    c=(char)(ch+32);
    Console.WriteLine("字符{0}为大写字母,转换为小写字母为{1}",ch,c);
    }
    elseif(ch>=’a’&&ch<=’z’)
    {
    c=(char)(ch-32);
    Console.WriteLine("字符{0}为小写字母,转换为大写字母为{1}",ch,c);
    }
    else
    Console.WriteLine("{0}既不是大写字母也不是小写字母",ch);
    解析: 暂无解析