• C#题库(选择题,填空题,判断题,编程题)


    C#选择题,填空题,判断题,编程题汇总(全)

    一、单项选择题

    1、C#程序设计语言属于什么类型的编程语言?( C )

    A 汇编语言

    B 机器语言

    C 高级语言

    D 自然语言

    2、请问经过表达式a=3+1>5?0:1 的运算,变量a的最终值是什么? ( B )

    A 3

    B 1

    C 0

    D 4

    3、关于如下程序结构的描述中,哪一项是正确的?( A )

    for( ; ; )

    { 循环体; }

    A 一直执行循环体,即死循环

    B 执行循环体一次

    C 不执行循环

    体 D 程序不符合语法要求

    4、设double型变量x和y的取值分别为12.5和5.0,那么表达式

    x/y+(int)(x/y)-(int)x/y的值为(C)

    A 2.9

    B 2.5

    C 2.1

    D 2

    5、设bool型变量a和b的取值分别为true和false,那么表达式a&&(a||!b)和a|(a&!b)的值分别为:(A)

    A true true

    B true false

    C false false

    D false true

    6、设int型变量x的值为9,那么表达式x-- + x-- + x–的值为(B)

    A . 27 B. 24 C. 21 D .18

    7、下列属于合法C#变量名的有(A)

    A、x_123 B if C 1_x D 3x

    8、要使用变量age来存储人的年龄,则将其都声明为(C)类型最为适合。

    A sbyte

    B byte

    C int

    D float

    9、以下数组声明中,不正确的有(B)

    A int[] a ;

    B int a[]=new int[2];

    C int [] a={1,3}

    D int [] a=int []{1,3}

    10、以下不属于.NET编程语言的是(A)

    A Java

    B C#

    C VC.NET

    D、VB.NET

    11、下列语句执行后y的值为(C)

    int x=0,y=0;
    
    while(x<10)
    
    {
    
    y+=(x+=2);
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    A 10

    B 20

    C 30

    D 55

    12、C#中每个char类型变量占用( B )字节内存

    A 1

    B 2

    C 3

    D 4

    13、在C#中,表示一个字符串变量应使用下面哪条语句定义( B)

    A、CString str;

    B、String str;

    C、Dim str as string;

    D、char * str;

    14、下列哪些运算符是属于“右结合”的?( D)

    A、算术运算符

    B、关系运算符

    C、逻辑运算符

    D、赋值运算符

    15、下列语句在控制台上的输入是什么?(B)

    if(true)

    System.Console.WriteLine(“FirstMessage”);

    System.Console.WriteLine(“SecondMessage”);

    A、无输出

    B、FirstMessage

    SecondMessage

    C、SecondMessage

    D、FirstMessage

    16. 以下数据类型中不可以使用算术运算运算的是(A)

    A. bool

    B. char

    C. decimal

    D. sbyte
    作者:CSDN薪薪代码
    17. 在C#中以下赋值不允许的是(A)

    A. short b=2; sbyte c; b=c;

    B. char b=’a’; int c; c=b;

    C. double b=2 long c; c=b;

    D. decimal b=2m byte c; b=c;

    18. 以下赋值语句中正确的是(B)

    A. short x=32768;

    B. ushort y=65534;

    C. long x=5000; int y=x;

    D. double x=20; decimal y=x;

    19 以下数据类型不能表示负数范围的是(D)

    A. sbyte

    B. decimal

    C. double

    D. uint

    20. 在C#中下列表达式不正确的是(B)

    A. double a; double b=2; int c=3; a=b+c;

    B. short a; byte b=2; byte c=3; a=b+c;

    C. string a; string b=”1”string c=”2” a=b+c;

    D. bool a; bool b=true; bool c=false a=b==c;

    21. C#中下列变量标识符定义不正确的是(C)

    A. m_n

    B. _a124;

    C. @3_4;

    D. udouble

    22. C#中下列字符是可显示字符的是(B)

    A. ‘\n’

    B. ‘\’

    C. ‘\t’

    D. ‘\f’

    23. 下列对于实数类型说法正确的是(D)

    A. double类型的数据占用字节数比decimal类型的高,所以范围表示比decimal 类型要大。

    B. float 类型的变量占用字节数比long类型的变量要小,所以可以将float类型的变量赋值给long类型的数据。

    C. decimal类型比double类型的变量占用的字节数要大很多,所以可以将double 类型的数据赋值给decimal类型。

    D. decimal类型的变量不可以与double和float类型的变量之间直接赋值

    24. 以下语句不可以在屏幕上输出Hello,World语句是(C)

    A. Console.WriteLine(“Hello”+”,World”);

    B. Console.Write(“Hello{0}”,”World”);

    C. Console.WriteLine(“{0},{1}”,”Hello,World”);

    D. Console.Write(“Hello,World”);

    25. 以下强制类型转换书写不正确的是(B)

    A. int a; double b=2.3; a=Convert.ToInt32(b);

    B. int a; double b=2.3; a=int.Parse(b);

    C. char c; int a=97; c=(char)a;

    D. float a; double b=2d; a=Convert.ToSingle(b);

    26. 以下数组初始化不正确的是(A)

    A. int[] a=new int[5]{1,2,3,4};

    B. int a[]=new int[]{1,2,3,4};

    C. int[] a={1,2,3,4};

    D. int[]a; a=new int[]{1,2,3,4};

    27. 已知如下变量decimal a=12.4m;float f=2.6f;double n=3.6d;int m=5,(作者:CSDN薪薪代码)则正确的语句是:(D)

    A. bool bo=(a=f)?a:f;

    B. bool bo=m>n>f;

    C. bool bo=true+false;

    D. bool bo=true==false;

    28. 假设有如下数组int[] a=new int[10];则下列不正确的是(C)

    A. int n=5; a[n]=a[0]+a[1];

    B. a[0]=1;a[1]=2;a[2]=’3’;

    C. a[0]=1;a[1]=2;a[2]=”3”;

    D. a[23]=23;

    29. 在C#语言中,运算符"="和"=="的功能分别是(B)

    A.关系运算和赋值运算

    B.赋值运算和关系运算

    C.都是关系运算

    D.都是赋值运算

    30. 两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( C )。

    int x;

    x=int.Parse(Console.ReadLine());

    if(x++>5)

    Console.WriteLine(x);

    else

    Console.WriteLine(x - -);

    A. 7和5

    B. 6和3

    C. 7和4

    D. 6和4

    31. 为了避免嵌套的条件分支语句if-else的二义性(作者:CSDN薪薪代码),C语言规定:C程序中的else 总是与(B )组成配对关系。

    A. 缩排位置相同的if

    B. 在其之前未配对的if

    C. 在其之前未配对的最近的if

    D. 同一行上的if

    32. 设整型变量a为5,使b不为2的表达式是(C)。

    A. b=a/2

    B. b=6-(–a)

    C. b=a%2

    D. b=a>3?2:1

    33. 以下可以为二维数组进行赋值的是( D)

    A. int[,] a=new int[,]{1,2,3,4,5,6,7,8};

    B.int[,] a=new int[2,3]{{1,2},{3,4}};

    C.int[,] a=new int[2,3]{{1,2,3},{1,2}};

    D.int[,] a=new int[,]{{1,2,3},{4,5,6}};

    34. 关于循环语句下列错误的是(D)

    A. for语句while语句与do while语句可以相互替换。

    B. while(5){Console.WriteLine(“Hello!”);}将无限输出字符串Hello。

    C.for(int i=5;i<13;i++){} 这个语句将运行8次

    D.while语句中的条件必须是布尔类型的结果

    35. 已知如下程序,下列选项放在空白处不能输出的是(D)*

    void main()

    {
    
    int x=6;
    
    do
    
    {
    
    Console.WriteLine(*);
    
    x--;
    
    --x;
    
    }while(_____)-----空白处
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    A. x>=1;

    B. x>=2;

    C. x>0;

    D. x>3;

    36. C#程序设计语言属于什么类型的编程语言( C )

    A.汇编语言B.机器语言C.高级语言D.自然语言

    37.在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )A.CString str; B.string str; C.Dim str as string D.char * str; 38.在C#中,(作者:CSDN薪薪代码)下列哪些语句可以创建一个具有3个初始值为””的元素的字符串数组( C )

    A. str ing StrList3;
    作者:CSDN薪薪代码

    B. string[3] StrList = {””, ””, ””};

    C. string[] StrList = {””, ””, ””};

    D. string[] StrList = new string [3];

    39.关于如下程序结构的描述中,哪一项是正确的( A )

    for( ; ; )

    {

    循环体;

    }

    A. 一直执行循环体,即死循环

    B. 执行循环体一次

    C. 不执行循环体

    D. 程序不符合语法要求

    40.可以作为自定义标识符的是( D )

    A.2x

    B.break

    C.m-n

    D.m_n

    在这里插入图片描述
    44. 下列选项中属于字符串常量的是( B)

    A. ABC

    B. “ABC”

    C. ‘abs’

    D. ‘a’

    45. 设整型变量i 的值为3 ,则表达式i— i 的值为( B )

    A. 0

    B. 1

    C. 2

    D. 3

    46. 下列代码的运行结果是:( A )

    int a = 30;

    int b = 20;

    b = a;

    a = 10;

    Console.WriteLine(a);

    Console.WriteLine(a/b);

    A、10 C、30

    0 0

    B、10 D、10

    1 1.5

    47. 设int a=9, b=6, c 执行语句c=a/b+0. 8 后c 的值是( X )

    A. 1

    B. 1. 8

    C. 2

    D. 2. 3

    48.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句( A )

    A.decimal EMoney; B.int EMoney;

    C.string EMoney; D.Dim EMoney as double;

    49.设int x=10, a=0, b=25 则条件表达式x<1?a+10:b 的值是( D )

    A.0 B.1

    C.10 D.25

    50.C#语言中,下列运算符优先级最高的是( A )

    A.!B.%

    C.>> D.==

    二、多项选择题(本大题共5小题,每小题2分,共10分)

    在这里插入图片描述
    在这里插入图片描述
    A 顺序结构

    B 分支结构

    C 循环结构

    D 跳转结构

    5、下面选项( BD )是C#语言中定义的循环语句类型。

    A if else

    B while

    C switch…case

    D for

    6. 在C#程序中,入口函数的正确声明为( AB )

    A. static int Main(){……}

    B. static void Main(){……}

    C. static void main(){……}

    D. static Main(){……}

    在这里插入图片描述
    A.顺序结构B.分支结构C.循环结构D.跳转结构

    9.switch( ) 语句中的控制表达式可以是下面哪几种类型( abc )

    A.int类型
    B.char类型

    C.string类型

    D.enum类型

    10.在数组中,对于for和foreach语句,(作者:CSDN薪薪代码)下列哪些选项中的说法正确(ABD )A.foreach语句能使你不用索引就可以遍历整个数组

    B.foreach 语句总是遍历整个数组

    C.foreach 语句总是从索引1遍历到索引Length

    D.如果需要修改数组元素就必须使用for语句

    三、判断题(本大题共5小题,每小题3分,共15分)

    1、在C# 编程环境中,常量的值可以在代码中被修改。( X )

    2、C#程序的执行是从第一个方法开始,到Main方法结束。( X )

    3、Main方法的返回值类型必须是void 的类型。( X )

    4、else语句总是与离他最近的一个if语句相匹配。( X )

    5、在C#中,%运算符的两边都必须是整型的。( x )

    6.在C# 2008编程环境中,常量的值可以在代码中被修改。( x )

    1. 在C#2008编程环境中,int类型变量的位数是16位。( x )

    2. 数组的长度不能是变量( Y )

    3. C# 程序中使用0表示逻辑非( Y )

    4. C# 关于switch 小括号中表达式可以是字符串类型( Y )

    四、程序阅读题(本大题共5小题,每小题4分,共20分)

    1. 写出下列程序的运行结果。

    static void Main(string [ ] args)
    
    {
    
    string[] words = new string[ ] { “a”,”b”,”c”};
    
    foreach ( string word in words)
    
    {
    
    Console.WriteLine(word);
    
    }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    答:a b c_

    2.完善如下程序:键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。

    int i;
    
    int num;
    
    int zeroNum = 0;
    int ____________ZengNum=0;
    
    int FuNum = 0;
    
    for (i = 1; i <= 10; i++)
    
    {
    
    Console.WriteLine("请输入第{0}个整数",i);
    
    string strTemp = Console.ReadLine();
    
    num = __________Convert.ToInt32(strTemp);
    
    if (num > 0)
    
    {
    
    ZengNum++;
    
    }
    
    else if (num == 0)
    
    {
    
    zeroNum++;
    
    }
    
    else
    
    {
    
    FuNum++;_
    
    }
    
    }//for_end
    
    Console.WriteLine("正数:{0}、负数: {1}、零:{2}", ZengNum, FuNum, zeroNum);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    3.下列代码的功能是要遍历整个数组并将其显示出来,但是有一行代码是错误的。请检查下列代码,并在错误代码行后填入该行完整的正确代码:
    在这里插入图片描述

    1).static void Main(string [] args)

    2). {

    3). string [ ] myArray = new string[ ] { “C#”, “C++”, “VB”, “java” };

    4). for(int i = 1; i

    5). {

    6). Console.WriteLine(myArray[i]);

    7). }

    8). }

    答:第___4_行错误。

    应改为______for(int i=0; i

    1. 完善如下程序:求5的阶乘并输出
    int mul= 1 ;
    
    for(int i=1;i<=5;i++)
    
    {
    
    mul*=i;
    
    }
    
    Console.WriteLine(____mul_________);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 说明本程序的功能。
    int[] nums = new int[3];
    
    int max = int.MinValue;
    
    for (int i = 0; i < 3; i++)
    
    {
    
    string strTemp = Console.ReadLine();
    
    nums[i] = int.Parse(strTemp);
    
    }
    
    for (int i = 0; i < 3; i++)
    
    {
    
    if (nums[i]>max)
    
    {
    
    max=nums[i];
    
    }
    
    }
    
    Console.WriteLine(max);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    答:_求三个数的最大值

    void main()
    
    {
    
    int k=2,i=2,m;
    
    m=(k+=i*=k);
    
    Console.WriteLine({0},{1},m,i);
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    输出结果____6,4___。

    void main()
    
    {
    
    char grade='C';
    
    switch(grade)
    
    {
    
    case 'A':Console.WriteLine(">=85.");
    
    break;
    
    case 'B':
    
    Console.WriteLine(">=70.");
    
    break;
    
    case 'C':
    
    Console.WriteLine(">=60.");
    
    break;
    
    case 'D':
    
    Console.WriteLine("<60.");
    
    break;
    
    default:
    
    Console.WriteLine("error.");
    
    break;
    
    }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    输出结果____>=60_____。

    在这里插入图片描述

    int[,] c = { { 90, 20, 55 }, { 80, 75,65 }, { 55, 100, 100 }, { 34,87, 88 } };
    
    for (int j = 0; j < 4; j++)
    
    {
    
    a[4, j] = a[0, j] + a[1, j] + a[2, j] + a[3, j];
    
    Console.WriteLine("第{0}列之和为{1}", j + 1, a[4, j]);
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    求二维数组的每一列之和
    10. 说明本程序的功能。

    int num;
    
    int sum=0;
    
    int avg=0;
    
    for(int i=1;i<=10;i++){
    
    Console.WriteLine("请输入第{0}个整数",i);
    
    string strTemp=Console.ReadLine();
    
    num=int.Parse(strTemp);
    
    sum=sum+num;
    
    }
    
    avg = sum / 10;
    
    Console.WriteLine("平均数值={0}",avg);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    答:求十个数的平均值_

    12.说明本程序的功能。

    int sum = 0;
    
    for (int i=1;i<=100 ;i++ ){
    
    if(i%2!=0){
    
    sum = sum + i;
    
    }
    
    if(sum>=1000){
    
    sum = sum - i;
    
    break;
    
    }
    
    }//for_end
    
    Console.WriteLine("sum={0}",sum);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    答:从1开始的奇数和小于1000的最大数_ 13. 完善如下程序:打印输出平方值小于20000的最大整数。

    int i=0;
    
    while(____i*i______<20000)
    
    {
    
    i++;
    }
    
    Console.WriteLine(_____i-1________);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    整理不易,求点赞收藏!!!爱你哟!

    请添加图片描述

  • 相关阅读:
    代码随想录day52|子序列系列|300.最长递增子序列|674. 最长连续递增序列|718. 最长重复子数组|Golang
    GFS分布式文件系统及其部署
    Hive数据查询语言-DQL-含示例演练(Select查询数据、Join查询)
    【动态库】Ubuntu 添加动态库的搜索路径
    RuntimeError: Address already in use 端口号冲突,解决思路总结
    AMM算法简要理解(Adleman-Mander-Miller Method)
    在docker中运行mysql容器
    在Win系统中创建命令
    树状数组的扩展应用
    用上了Jenkins,个人部署项目真方便!
  • 原文地址:https://blog.csdn.net/m0_65636467/article/details/127981311